From 5d638e188ce64fa80fe36b8cba79ba63b80b50b7 Mon Sep 17 00:00:00 2001
From: AllanZhengYP
Date: Thu, 23 Dec 2021 12:59:58 -0800
Subject: [PATCH] feat(clients): update clients as of 2021/12/23 (#3110)
* chore: update models as of 12/23/2021
* chore: update endpoints models as of 12/23/2021
* feat(clients): update clients as of 2021/12/23
---
.../client-accessanalyzer/src/endpoints.ts | 1 +
clients/client-account/src/endpoints.ts | 1 +
clients/client-acm-pca/src/endpoints.ts | 1 +
clients/client-acm/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-amp/src/endpoints.ts | 1 +
clients/client-amplify/src/endpoints.ts | 1 +
.../client-amplifybackend/src/endpoints.ts | 1 +
clients/client-amplifyuibuilder/.gitignore | 9 +
clients/client-amplifyuibuilder/LICENSE | 201 +
clients/client-amplifyuibuilder/README.md | 212 +
.../client-amplifyuibuilder/jest.config.js | 4 +
clients/client-amplifyuibuilder/package.json | 96 +
.../src/AmplifyUIBuilder.ts | 478 +
.../src/AmplifyUIBuilderClient.ts | 300 +
.../src/commands/CreateComponentCommand.ts | 95 +
.../src/commands/CreateThemeCommand.ts | 95 +
.../src/commands/DeleteComponentCommand.ts | 95 +
.../src/commands/DeleteThemeCommand.ts | 95 +
.../commands/ExchangeCodeForTokenCommand.ts | 95 +
.../src/commands/ExportComponentsCommand.ts | 96 +
.../src/commands/ExportThemesCommand.ts | 96 +
.../src/commands/GetComponentCommand.ts | 95 +
.../src/commands/GetThemeCommand.ts | 95 +
.../src/commands/ListComponentsCommand.ts | 95 +
.../src/commands/ListThemesCommand.ts | 95 +
.../src/commands/RefreshTokenCommand.ts | 95 +
.../src/commands/UpdateComponentCommand.ts | 95 +
.../src/commands/UpdateThemeCommand.ts | 95 +
.../src/commands/index.ts | 14 +
.../client-amplifyuibuilder/src/endpoints.ts | 135 +
clients/client-amplifyuibuilder/src/index.ts | 5 +
.../src/models/index.ts | 1 +
.../src/models/models_0.ts | 1652 ++++
.../src/pagination/Interfaces.ts | 8 +
.../src/pagination/ListComponentsPaginator.ts | 59 +
.../src/pagination/ListThemesPaginator.ts | 55 +
.../src/pagination/index.ts | 3 +
.../src/protocols/Aws_restJson1.ts | 2819 ++++++
.../src/runtimeConfig.browser.ts | 44 +
.../src/runtimeConfig.native.ts | 17 +
.../src/runtimeConfig.shared.ts | 17 +
.../src/runtimeConfig.ts | 53 +
.../client-amplifyuibuilder/tsconfig.es.json | 10 +
clients/client-amplifyuibuilder/tsconfig.json | 32 +
.../tsconfig.types.json | 10 +
clients/client-api-gateway/src/endpoints.ts | 1 +
.../client-api-gateway/src/models/models_0.ts | 15 +-
.../src/endpoints.ts | 1 +
clients/client-apigatewayv2/src/endpoints.ts | 1 +
clients/client-app-mesh/src/endpoints.ts | 1 +
clients/client-appconfig/src/endpoints.ts | 1 +
clients/client-appconfigdata/src/endpoints.ts | 1 +
clients/client-appflow/src/endpoints.ts | 1 +
.../client-appintegrations/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-apprunner/src/endpoints.ts | 1 +
clients/client-appstream/src/endpoints.ts | 1 +
clients/client-appsync/README.md | 14 +-
clients/client-appsync/src/AppSync.ts | 302 +-
clients/client-appsync/src/AppSyncClient.ts | 24 +
.../src/commands/AssociateApiCommand.ts | 95 +
.../src/commands/CreateApiKeyCommand.ts | 3 +-
.../src/commands/CreateDomainNameCommand.ts | 95 +
.../src/commands/CreateFunctionCommand.ts | 2 +-
.../src/commands/CreateResolverCommand.ts | 2 +-
.../src/commands/DeleteDomainNameCommand.ts | 95 +
.../src/commands/DisassociateApiCommand.ts | 95 +
.../src/commands/GetApiAssociationCommand.ts | 95 +
.../src/commands/GetDomainNameCommand.ts | 95 +
.../src/commands/ListDomainNamesCommand.ts | 95 +
.../src/commands/UpdateApiKeyCommand.ts | 2 +-
.../src/commands/UpdateDomainNameCommand.ts | 95 +
clients/client-appsync/src/commands/index.ts | 8 +
clients/client-appsync/src/endpoints.ts | 1 +
clients/client-appsync/src/models/models_0.ts | 917 +-
.../src/protocols/Aws_restJson1.ts | 1047 ++-
clients/client-athena/src/endpoints.ts | 1 +
clients/client-auditmanager/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-auto-scaling/src/endpoints.ts | 1 +
.../client-backup-gateway/src/endpoints.ts | 1 +
clients/client-backup/src/endpoints.ts | 1 +
clients/client-batch/src/endpoints.ts | 1 +
clients/client-braket/src/endpoints.ts | 1 +
clients/client-budgets/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 30 +-
.../src/endpoints.ts | 1 +
.../src/models/models_0.ts | 142 +-
.../src/protocols/Aws_restJson1.ts | 8 +
clients/client-chime/src/endpoints.ts | 1 +
clients/client-cloud9/src/endpoints.ts | 1 +
clients/client-cloudcontrol/src/endpoints.ts | 1 +
.../client-clouddirectory/src/endpoints.ts | 1 +
.../client-cloudformation/src/endpoints.ts | 1 +
clients/client-cloudfront/src/endpoints.ts | 1 +
clients/client-cloudhsm-v2/src/endpoints.ts | 1 +
clients/client-cloudhsm/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-cloudsearch/src/endpoints.ts | 1 +
clients/client-cloudtrail/src/endpoints.ts | 1 +
.../client-cloudwatch-events/src/endpoints.ts | 1 +
.../client-cloudwatch-logs/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 17 +-
.../src/protocols/Aws_json1_1.ts | 9 +
clients/client-cloudwatch/src/endpoints.ts | 1 +
clients/client-codeartifact/src/endpoints.ts | 1 +
clients/client-codebuild/src/endpoints.ts | 1 +
clients/client-codecommit/src/endpoints.ts | 1 +
clients/client-codedeploy/src/endpoints.ts | 1 +
.../client-codeguru-reviewer/src/endpoints.ts | 1 +
.../client-codeguruprofiler/src/endpoints.ts | 1 +
clients/client-codepipeline/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-codestar/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../client-cognito-identity/src/endpoints.ts | 1 +
clients/client-cognito-sync/src/endpoints.ts | 1 +
clients/client-comprehend/src/endpoints.ts | 1 +
clients/client-comprehendmedical/README.md | 2 +-
.../src/ComprehendMedical.ts | 196 +-
.../src/ComprehendMedicalClient.ts | 33 +-
.../DescribeSNOMEDCTInferenceJobCommand.ts | 106 +
.../src/commands/InferSNOMEDCTCommand.ts | 100 +
.../ListSNOMEDCTInferenceJobsCommand.ts | 104 +
.../StartSNOMEDCTInferenceJobCommand.ts | 104 +
.../StopSNOMEDCTInferenceJobCommand.ts | 101 +
.../src/commands/index.ts | 5 +
.../client-comprehendmedical/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 665 +-
.../src/protocols/Aws_json1_1.ts | 803 +-
.../client-compute-optimizer/src/endpoints.ts | 1 +
.../client-config-service/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-connect/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-cost-explorer/src/endpoints.ts | 1 +
.../src/CustomerProfiles.ts | 6 +-
.../src/commands/GetMatchesCommand.ts | 3 +-
.../src/commands/MergeProfilesCommand.ts | 3 +-
.../client-customer-profiles/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 64 +-
.../src/protocols/Aws_restJson1.ts | 40 +
clients/client-data-pipeline/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-databrew/src/endpoints.ts | 1 +
clients/client-dataexchange/src/endpoints.ts | 1 +
clients/client-datasync/src/DataSync.ts | 75 +
clients/client-datasync/src/DataSyncClient.ts | 12 +
.../CreateLocationFsxLustreCommand.ts | 95 +
.../DescribeLocationFsxLustreCommand.ts | 99 +
clients/client-datasync/src/commands/index.ts | 2 +
clients/client-datasync/src/endpoints.ts | 1 +
.../client-datasync/src/models/models_0.ts | 101 +-
.../src/protocols/Aws_json1_1.ts | 215 +
clients/client-dax/src/endpoints.ts | 1 +
clients/client-detective/src/endpoints.ts | 1 +
clients/client-device-farm/src/endpoints.ts | 1 +
clients/client-devops-guru/src/endpoints.ts | 1 +
.../client-devops-guru/src/models/models_0.ts | 140 +-
.../src/protocols/Aws_restJson1.ts | 4 +
.../client-direct-connect/src/endpoints.ts | 1 +
.../client-directory-service/src/endpoints.ts | 1 +
clients/client-dlm/src/endpoints.ts | 1 +
clients/client-docdb/src/endpoints.ts | 1 +
clients/client-drs/src/endpoints.ts | 1 +
.../client-dynamodb-streams/src/endpoints.ts | 1 +
clients/client-dynamodb/src/endpoints.ts | 1 +
clients/client-ebs/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-ec2/src/endpoints.ts | 1 +
clients/client-ec2/src/waiters/index.ts | 1 +
.../waiters/waitForInternetGatewayExists.ts | 57 +
clients/client-ecr-public/src/endpoints.ts | 1 +
clients/client-ecr/src/endpoints.ts | 10 +
clients/client-ecs/src/endpoints.ts | 1 +
clients/client-efs/src/endpoints.ts | 1 +
clients/client-eks/src/endpoints.ts | 1 +
.../client-elastic-beanstalk/src/endpoints.ts | 1 +
.../client-elastic-inference/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-elasticache/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../client-emr-containers/src/endpoints.ts | 1 +
clients/client-emr/src/endpoints.ts | 1 +
clients/client-eventbridge/src/endpoints.ts | 1 +
clients/client-evidently/src/endpoints.ts | 1 +
clients/client-finspace-data/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 28 +-
.../src/protocols/Aws_restJson1.ts | 51 +
clients/client-finspace/src/endpoints.ts | 1 +
clients/client-firehose/src/endpoints.ts | 1 +
clients/client-fis/src/endpoints.ts | 1 +
clients/client-fms/src/endpoints.ts | 1 +
clients/client-forecast/src/Forecast.ts | 61 +-
.../commands/CreateAutoPredictorCommand.ts | 2 +-
.../commands/CreateExplainabilityCommand.ts | 2 +-
...CreatePredictorBacktestExportJobCommand.ts | 8 +-
.../src/commands/CreatePredictorCommand.ts | 2 +-
.../DeleteExplainabilityExportCommand.ts | 2 +-
.../src/commands/DeletePredictorCommand.ts | 5 +-
...scribePredictorBacktestExportJobCommand.ts | 2 +-
.../src/commands/DescribePredictorCommand.ts | 3 +-
.../ListPredictorBacktestExportJobsCommand.ts | 8 +-
.../src/commands/ListPredictorsCommand.ts | 10 +-
.../src/commands/StopResourceCommand.ts | 12 +-
.../src/commands/TagResourceCommand.ts | 5 +-
clients/client-forecast/src/endpoints.ts | 1 +
.../client-forecast/src/models/models_0.ts | 449 +-
.../src/protocols/Aws_json1_1.ts | 4 +
clients/client-forecastquery/src/endpoints.ts | 1 +
clients/client-frauddetector/src/endpoints.ts | 1 +
clients/client-fsx/src/endpoints.ts | 1 +
clients/client-gamelift/src/endpoints.ts | 1 +
clients/client-glacier/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-glue/src/endpoints.ts | 1 +
clients/client-grafana/src/endpoints.ts | 1 +
clients/client-greengrass/src/endpoints.ts | 1 +
clients/client-greengrassv2/src/endpoints.ts | 1 +
clients/client-groundstation/src/endpoints.ts | 1 +
clients/client-guardduty/src/endpoints.ts | 1 +
clients/client-health/README.md | 9 +-
clients/client-health/src/Health.ts | 36 +-
clients/client-health/src/HealthClient.ts | 9 +-
...eAffectedEntitiesForOrganizationCommand.ts | 4 +-
...cribeEventDetailsForOrganizationCommand.ts | 6 +-
.../src/commands/DescribeEventTypesCommand.ts | 2 +-
...althServiceAccessForOrganizationCommand.ts | 11 +-
...althServiceAccessForOrganizationCommand.ts | 4 +-
clients/client-health/src/endpoints.ts | 1 +
clients/client-health/src/models/models_0.ts | 23 +-
clients/client-healthlake/src/endpoints.ts | 1 +
clients/client-honeycode/src/endpoints.ts | 1 +
clients/client-iam/src/endpoints.ts | 1 +
clients/client-identitystore/src/endpoints.ts | 1 +
.../client-imagebuilder/src/Imagebuilder.ts | 45 +
.../src/ImagebuilderClient.ts | 3 +
.../src/commands/ImportVmImageCommand.ts | 103 +
.../client-imagebuilder/src/commands/index.ts | 1 +
clients/client-imagebuilder/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 275 +-
.../src/protocols/Aws_restJson1.ts | 144 +
clients/client-inspector/src/endpoints.ts | 1 +
clients/client-inspector2/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../client-iot-data-plane/src/endpoints.ts | 1 +
.../client-iot-events-data/src/endpoints.ts | 1 +
clients/client-iot-events/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-iot-wireless/src/endpoints.ts | 1 +
clients/client-iot/src/endpoints.ts | 1 +
clients/client-iot/src/models/models_0.ts | 16 +
clients/client-iot/src/models/models_2.ts | 7 +
.../client-iot/src/protocols/Aws_restJson1.ts | 5 +
clients/client-iotanalytics/src/endpoints.ts | 1 +
.../client-iotdeviceadvisor/src/endpoints.ts | 1 +
clients/client-iotfleethub/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-iotsitewise/src/endpoints.ts | 1 +
.../client-iotthingsgraph/src/endpoints.ts | 1 +
clients/client-iottwinmaker/src/endpoints.ts | 1 +
clients/client-ivs/src/endpoints.ts | 1 +
clients/client-kafka/src/endpoints.ts | 1 +
clients/client-kafkaconnect/src/endpoints.ts | 1 +
clients/client-kendra/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../client-kinesis-analytics/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-kinesis-video/src/endpoints.ts | 1 +
clients/client-kinesis/src/endpoints.ts | 1 +
clients/client-kms/src/endpoints.ts | 13 +
clients/client-lakeformation/src/endpoints.ts | 1 +
clients/client-lambda/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-lex-models-v2/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 159 +-
.../src/protocols/Aws_restJson1.ts | 96 +
.../src/endpoints.ts | 1 +
.../client-lex-runtime-v2/src/endpoints.ts | 1 +
.../client-license-manager/src/endpoints.ts | 1 +
clients/client-lightsail/src/endpoints.ts | 1 +
clients/client-location/src/Location.ts | 67 +-
clients/client-location/src/LocationClient.ts | 6 +
.../commands/BatchEvaluateGeofencesCommand.ts | 4 +
.../BatchUpdateDevicePositionCommand.ts | 14 +-
.../src/commands/CreatePlaceIndexCommand.ts | 3 +-
.../SearchPlaceIndexForSuggestionsCommand.ts | 112 +
clients/client-location/src/commands/index.ts | 1 +
clients/client-location/src/endpoints.ts | 1 +
.../client-location/src/models/models_0.ts | 323 +-
.../src/protocols/Aws_restJson1.ts | 264 +
.../client-lookoutequipment/src/endpoints.ts | 1 +
.../src/LookoutMetrics.ts | 38 +
.../src/LookoutMetricsClient.ts | 6 +
.../ListAnomalyGroupRelatedMetricsCommand.ts | 104 +
.../src/commands/index.ts | 1 +
.../client-lookoutmetrics/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 104 +
...ListAnomalyGroupRelatedMetricsPaginator.ts | 59 +
.../src/pagination/index.ts | 1 +
.../src/protocols/Aws_restJson1.ts | 154 +
.../client-lookoutvision/src/LookoutVision.ts | 194 +-
.../src/LookoutVisionClient.ts | 18 +
.../src/commands/DeleteModelCommand.ts | 3 +-
.../DescribeModelPackagingJobCommand.ts | 104 +
.../commands/ListModelPackagingJobsCommand.ts | 103 +
.../src/commands/ListModelsCommand.ts | 3 +
.../src/commands/ListProjectsCommand.ts | 3 +
.../commands/StartModelPackagingJobCommand.ts | 140 +
.../commands/UpdateDatasetEntriesCommand.ts | 15 +-
.../src/commands/index.ts | 3 +
clients/client-lookoutvision/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 689 +-
.../ListModelPackagingJobsPaginator.ts | 59 +
.../src/pagination/index.ts | 1 +
.../src/protocols/Aws_restJson1.ts | 601 ++
.../client-machine-learning/src/endpoints.ts | 1 +
clients/client-macie/src/endpoints.ts | 1 +
clients/client-macie2/src/endpoints.ts | 1 +
.../client-managedblockchain/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-mediaconnect/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 78 +-
.../src/protocols/Aws_restJson1.ts | 18 +
clients/client-mediaconvert/src/endpoints.ts | 1 +
clients/client-medialive/src/endpoints.ts | 1 +
.../client-mediapackage-vod/src/endpoints.ts | 1 +
clients/client-mediapackage/src/endpoints.ts | 1 +
.../client-mediastore-data/src/endpoints.ts | 1 +
clients/client-mediastore/src/endpoints.ts | 1 +
clients/client-mediatailor/src/endpoints.ts | 1 +
clients/client-memorydb/src/endpoints.ts | 1 +
clients/client-mgn/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-migration-hub/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-mobile/src/endpoints.ts | 1 +
clients/client-mq/src/endpoints.ts | 1 +
clients/client-mturk/src/endpoints.ts | 1 +
clients/client-mwaa/src/endpoints.ts | 1 +
clients/client-neptune/src/endpoints.ts | 1 +
.../src/NetworkFirewall.ts | 44 +-
.../src/NetworkFirewallClient.ts | 6 +
.../DescribeRuleGroupMetadataCommand.ts | 101 +
...teFirewallPolicyChangeProtectionCommand.ts | 4 +-
.../src/commands/index.ts | 1 +
.../client-network-firewall/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 172 +-
.../src/protocols/Aws_json1_0.ts | 199 +
clients/client-networkmanager/README.md | 14 +-
clients/client-networkmanager/package.json | 4 +-
.../src/NetworkManager.ts | 1350 ++-
.../src/NetworkManagerClient.ts | 154 +-
.../src/commands/AcceptAttachmentCommand.ts | 97 +
.../commands/AssociateConnectPeerCommand.ts | 98 +
.../CreateConnectAttachmentCommand.ts | 98 +
.../src/commands/CreateConnectPeerCommand.ts | 96 +
.../src/commands/CreateCoreNetworkCommand.ts | 95 +
.../CreateSiteToSiteVpnAttachmentCommand.ts | 100 +
.../commands/CreateVpcAttachmentCommand.ts | 95 +
.../src/commands/DeleteAttachmentCommand.ts | 95 +
.../src/commands/DeleteConnectPeerCommand.ts | 95 +
.../src/commands/DeleteCoreNetworkCommand.ts | 95 +
.../DeleteCoreNetworkPolicyVersionCommand.ts | 103 +
.../commands/DeleteResourcePolicyCommand.ts | 95 +
.../DisassociateConnectPeerCommand.ts | 95 +
.../ExecuteCoreNetworkChangeSetCommand.ts | 100 +
.../commands/GetConnectAttachmentCommand.ts | 95 +
.../GetConnectPeerAssociationsCommand.ts | 98 +
.../src/commands/GetConnectPeerCommand.ts | 95 +
.../GetCoreNetworkChangeSetCommand.ts | 95 +
.../src/commands/GetCoreNetworkCommand.ts | 95 +
.../commands/GetCoreNetworkPolicyCommand.ts | 95 +
.../src/commands/GetResourcePolicyCommand.ts | 95 +
.../GetSiteToSiteVpnAttachmentCommand.ts | 98 +
.../src/commands/GetVpcAttachmentCommand.ts | 95 +
.../src/commands/ListAttachmentsCommand.ts | 95 +
.../src/commands/ListConnectPeersCommand.ts | 95 +
.../ListCoreNetworkPolicyVersionsCommand.ts | 100 +
.../src/commands/ListCoreNetworksCommand.ts | 95 +
.../commands/PutCoreNetworkPolicyCommand.ts | 95 +
.../src/commands/PutResourcePolicyCommand.ts | 95 +
.../src/commands/RejectAttachmentCommand.ts | 95 +
.../RestoreCoreNetworkPolicyVersionCommand.ts | 103 +
.../src/commands/UpdateCoreNetworkCommand.ts | 95 +
.../commands/UpdateVpcAttachmentCommand.ts | 95 +
.../src/commands/index.ts | 33 +
.../client-networkmanager/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 3877 ++++++--
.../GetConnectPeerAssociationsPaginator.ts | 59 +
.../GetCoreNetworkChangeSetPaginator.ts | 59 +
.../pagination/ListAttachmentsPaginator.ts | 59 +
.../pagination/ListConnectPeersPaginator.ts | 59 +
.../ListCoreNetworkPolicyVersionsPaginator.ts | 59 +
.../pagination/ListCoreNetworksPaginator.ts | 59 +
.../src/pagination/index.ts | 8 +-
.../src/protocols/Aws_restJson1.ts | 8351 +++++++++++++----
clients/client-nimble/src/Nimble.ts | 4 +
.../src/commands/ListStudioMembersCommand.ts | 4 +
clients/client-nimble/src/endpoints.ts | 1 +
clients/client-nimble/src/models/models_0.ts | 332 +-
.../src/protocols/Aws_restJson1.ts | 87 +
clients/client-opensearch/src/endpoints.ts | 1 +
clients/client-opsworks/src/endpoints.ts | 1 +
clients/client-opsworkscm/src/endpoints.ts | 1 +
clients/client-organizations/src/endpoints.ts | 1 +
clients/client-outposts/src/Outposts.ts | 39 +
clients/client-outposts/src/OutpostsClient.ts | 3 +
.../src/commands/UpdateOutpostCommand.ts | 97 +
clients/client-outposts/src/commands/index.ts | 1 +
clients/client-outposts/src/endpoints.ts | 1 +
.../client-outposts/src/models/models_0.ts | 105 +-
.../src/protocols/Aws_restJson1.ts | 124 +
clients/client-panorama/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-personalize/src/endpoints.ts | 1 +
clients/client-pi/src/endpoints.ts | 1 +
.../client-pinpoint-email/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-pinpoint/src/endpoints.ts | 1 +
clients/client-polly/src/endpoints.ts | 1 +
clients/client-pricing/src/endpoints.ts | 1 +
clients/client-proton/src/endpoints.ts | 1 +
clients/client-qldb-session/src/endpoints.ts | 1 +
clients/client-qldb/src/QLDB.ts | 15 +-
.../src/commands/CreateLedgerCommand.ts | 2 +-
.../src/commands/ExportJournalToS3Command.ts | 9 +-
.../commands/ListJournalS3ExportsCommand.ts | 2 +-
.../src/commands/ListLedgersCommand.ts | 2 +-
clients/client-qldb/src/endpoints.ts | 1 +
clients/client-qldb/src/models/models_0.ts | 47 +-
.../src/protocols/Aws_restJson1.ts | 2 +
clients/client-quicksight/src/endpoints.ts | 1 +
clients/client-ram/README.md | 11 +-
clients/client-ram/src/RAM.ts | 96 +-
clients/client-ram/src/RAMClient.ts | 11 +-
.../AcceptResourceShareInvitationCommand.ts | 4 +-
.../commands/AssociateResourceShareCommand.ts | 4 +-
...AssociateResourceSharePermissionCommand.ts | 5 +-
.../commands/CreateResourceShareCommand.ts | 6 +-
.../commands/DeleteResourceShareCommand.ts | 4 +-
...associateResourceSharePermissionCommand.ts | 4 +-
...EnableSharingWithAwsOrganizationCommand.ts | 11 +-
.../commands/GetResourcePoliciesCommand.ts | 3 +-
.../GetResourceShareAssociationsCommand.ts | 2 +-
.../GetResourceShareInvitationsCommand.ts | 2 +-
.../src/commands/GetResourceSharesCommand.ts | 2 +-
.../ListPendingInvitationResourcesCommand.ts | 5 +-
.../src/commands/ListPermissionsCommand.ts | 3 +-
.../src/commands/ListPrincipalsCommand.ts | 2 +-
.../src/commands/ListResourceTypesCommand.ts | 2 +-
...teResourceShareCreatedFromPolicyCommand.ts | 19 +-
.../src/commands/TagResourceCommand.ts | 3 +-
.../src/commands/UntagResourceCommand.ts | 2 +-
.../commands/UpdateResourceShareCommand.ts | 2 +-
clients/client-ram/src/endpoints.ts | 1 +
clients/client-ram/src/models/models_0.ts | 1122 ++-
.../client-ram/src/protocols/Aws_restJson1.ts | 34 +
clients/client-rbin/src/endpoints.ts | 1 +
clients/client-rds-data/src/endpoints.ts | 1 +
clients/client-rds/src/endpoints.ts | 1 +
clients/client-redshift-data/src/endpoints.ts | 1 +
clients/client-redshift/src/Redshift.ts | 2 +-
.../src/commands/AuthorizeDataShareCommand.ts | 2 +-
clients/client-redshift/src/endpoints.ts | 1 +
.../client-redshift/src/models/models_0.ts | 9 +-
.../src/protocols/Aws_query.ts | 4 +
clients/client-rekognition/src/Rekognition.ts | 4 +-
.../src/commands/CompareFacesCommand.ts | 2 +-
.../src/commands/DetectTextCommand.ts | 2 +-
clients/client-rekognition/src/endpoints.ts | 1 +
.../client-rekognition/src/models/models_0.ts | 8 +-
clients/client-resiliencehub/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../client-resource-groups/src/endpoints.ts | 1 +
clients/client-robomaker/src/endpoints.ts | 1 +
.../src/Route53Domains.ts | 148 +-
.../src/Route53DomainsClient.ts | 6 +
...ainTransferFromAnotherAwsAccountCommand.ts | 8 +-
...omainTransferToAnotherAwsAccountCommand.ts | 4 +-
.../src/commands/DeleteDomainCommand.ts | 113 +
.../commands/EnableDomainAutoRenewCommand.ts | 2 +-
.../src/commands/GetDomainDetailCommand.ts | 2 +-
.../src/commands/ListDomainsCommand.ts | 3 +-
.../src/commands/ListOperationsCommand.ts | 1 +
.../src/commands/ListPricesCommand.ts | 112 +
.../src/commands/RegisterDomainCommand.ts | 9 +-
...ainTransferFromAnotherAwsAccountCommand.ts | 2 +-
.../src/commands/RenewDomainCommand.ts | 2 +-
.../src/commands/TransferDomainCommand.ts | 2 +-
...ransferDomainToAnotherAwsAccountCommand.ts | 10 +-
.../UpdateDomainContactPrivacyCommand.ts | 5 +-
.../src/commands/ViewBillingCommand.ts | 2 +-
.../src/commands/index.ts | 2 +
.../client-route-53-domains/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 491 +-
.../src/pagination/ListPricesPaginator.ts | 55 +
.../src/pagination/ViewBillingPaginator.ts | 55 +
.../src/pagination/index.ts | 2 +
.../src/protocols/Aws_json1_1.ts | 328 +
clients/client-route-53/src/Route53.ts | 4 +
.../commands/DeleteKeySigningKeyCommand.ts | 4 +
clients/client-route-53/src/endpoints.ts | 1 +
.../client-route-53/src/models/models_0.ts | 38 +-
.../src/protocols/Aws_restXml.ts | 8 +
.../src/endpoints.ts | 1 +
.../src/Route53RecoveryControlConfig.ts | 113 +-
.../src/Route53RecoveryControlConfigClient.ts | 12 +
.../src/commands/CreateClusterCommand.ts | 2 +-
.../src/commands/CreateControlPanelCommand.ts | 2 +-
.../src/commands/CreateSafetyRuleCommand.ts | 2 +-
.../src/commands/DescribeSafetyRuleCommand.ts | 2 +-
.../src/commands/ListControlPanelsCommand.ts | 2 +-
.../commands/ListTagsForResourceCommand.ts | 99 +
.../src/commands/TagResourceCommand.ts | 99 +
.../src/commands/UntagResourceCommand.ts | 99 +
.../src/commands/UpdateSafetyRuleCommand.ts | 2 +-
.../src/commands/index.ts | 3 +
.../src/endpoints.ts | 1 +
.../src/models/models_0.ts | 209 +-
.../src/protocols/Aws_restJson1.ts | 379 +-
.../src/endpoints.ts | 1 +
.../client-route53resolver/src/endpoints.ts | 1 +
clients/client-rum/src/endpoints.ts | 1 +
clients/client-s3-control/src/endpoints.ts | 1 +
clients/client-s3/src/endpoints.ts | 13 +
clients/client-s3outposts/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../client-sagemaker-edge/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../client-sagemaker-runtime/src/endpoints.ts | 1 +
clients/client-sagemaker/src/endpoints.ts | 1 +
.../client-sagemaker/src/models/models_0.ts | 8 +
.../client-sagemaker/src/models/models_2.ts | 1 +
.../src/protocols/Aws_json1_1.ts | 3 +
clients/client-savingsplans/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 2 +-
clients/client-schemas/src/endpoints.ts | 1 +
clients/client-secrets-manager/README.md | 2 +-
.../src/SecretsManager.ts | 869 +-
.../src/SecretsManagerClient.ts | 2 +-
.../src/commands/CancelRotateSecretCommand.ts | 56 +-
.../src/commands/CreateSecretCommand.ts | 106 +-
.../commands/DeleteResourcePolicyCommand.ts | 26 +-
.../src/commands/DeleteSecretCommand.ts | 51 +-
.../src/commands/DescribeSecretCommand.ts | 30 +-
.../src/commands/GetRandomPasswordCommand.ts | 12 +-
.../src/commands/GetResourcePolicyCommand.ts | 31 +-
.../src/commands/GetSecretValueCommand.ts | 29 +-
.../commands/ListSecretVersionIdsCommand.ts | 31 +-
.../src/commands/ListSecretsCommand.ts | 33 +-
.../src/commands/PutResourcePolicyCommand.ts | 35 +-
.../src/commands/PutSecretValueCommand.ts | 98 +-
.../RemoveRegionsFromReplicationCommand.ts | 2 +-
.../ReplicateSecretToRegionsCommand.ts | 3 +-
.../src/commands/RestoreSecretCommand.ts | 19 +-
.../src/commands/RotateSecretCommand.ts | 77 +-
.../StopReplicationToReplicaCommand.ts | 3 +-
.../src/commands/TagResourceCommand.ts | 37 +-
.../src/commands/UntagResourceCommand.ts | 22 +-
.../src/commands/UpdateSecretCommand.ts | 102 +-
.../UpdateSecretVersionStageCommand.ts | 34 +-
.../commands/ValidateResourcePolicyCommand.ts | 30 +-
.../client-secrets-manager/src/endpoints.ts | 1 +
.../src/models/models_0.ts | 879 +-
clients/client-securityhub/src/SecurityHub.ts | 16 +-
.../commands/BatchImportFindingsCommand.ts | 15 +-
.../src/commands/CreateMembersCommand.ts | 1 -
clients/client-securityhub/src/endpoints.ts | 1 +
.../client-securityhub/src/models/models_0.ts | 3058 +++---
.../client-securityhub/src/models/models_1.ts | 2083 +++-
.../src/protocols/Aws_restJson1.ts | 2249 ++++-
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../client-service-catalog/src/endpoints.ts | 1 +
.../client-service-quotas/src/endpoints.ts | 1 +
.../client-servicediscovery/src/endpoints.ts | 1 +
clients/client-ses/src/endpoints.ts | 1 +
clients/client-sesv2/src/endpoints.ts | 1 +
clients/client-sfn/src/endpoints.ts | 1 +
clients/client-shield/src/endpoints.ts | 1 +
clients/client-signer/src/endpoints.ts | 1 +
clients/client-sms/README.md | 23 +-
clients/client-sms/src/SMS.ts | 42 +-
clients/client-sms/src/SMSClient.ts | 22 +-
.../commands/CreateReplicationJobCommand.ts | 2 +-
.../src/commands/DeleteAppCommand.ts | 2 +-
.../commands/DeleteReplicationJobCommand.ts | 4 +-
.../commands/DisassociateConnectorCommand.ts | 2 +-
.../src/commands/GenerateTemplateCommand.ts | 2 +-
.../src/commands/GetConnectorsCommand.ts | 2 +-
.../src/commands/ImportAppCatalogCommand.ts | 2 +-
.../src/commands/LaunchAppCommand.ts | 2 +-
.../NotifyAppValidationOutputCommand.ts | 2 +-
clients/client-sms/src/endpoints.ts | 1 +
clients/client-sms/src/models/models_0.ts | 28 +-
.../src/endpoints.ts | 1 +
clients/client-snowball/src/endpoints.ts | 1 +
clients/client-sns/src/endpoints.ts | 1 +
clients/client-sqs/src/endpoints.ts | 1 +
clients/client-ssm-contacts/src/endpoints.ts | 1 +
clients/client-ssm-incidents/src/endpoints.ts | 1 +
clients/client-ssm/src/endpoints.ts | 1 +
clients/client-sso-admin/src/endpoints.ts | 1 +
clients/client-sso-oidc/src/endpoints.ts | 1 +
clients/client-sso/src/endpoints.ts | 1 +
.../client-storage-gateway/src/endpoints.ts | 1 +
clients/client-sts/src/endpoints.ts | 1 +
clients/client-support/README.md | 34 +-
clients/client-support/src/Support.ts | 182 +-
clients/client-support/src/SupportClient.ts | 34 +-
.../commands/AddAttachmentsToSetCommand.ts | 8 +-
.../commands/AddCommunicationToCaseCommand.ts | 10 +-
.../src/commands/CreateCaseCommand.ts | 22 +-
.../src/commands/DescribeAttachmentCommand.ts | 8 +-
.../src/commands/DescribeCasesCommand.ts | 8 +-
.../commands/DescribeCommunicationsCommand.ts | 8 +-
.../src/commands/DescribeServicesCommand.ts | 14 +-
.../commands/DescribeSeverityLevelsCommand.ts | 8 +-
...ustedAdvisorCheckRefreshStatusesCommand.ts | 10 +-
...escribeTrustedAdvisorCheckResultCommand.ts | 10 +-
...ribeTrustedAdvisorCheckSummariesCommand.ts | 10 +-
.../DescribeTrustedAdvisorChecksCommand.ts | 14 +-
.../RefreshTrustedAdvisorCheckCommand.ts | 10 +-
.../src/commands/ResolveCaseCommand.ts | 8 +-
clients/client-support/src/endpoints.ts | 1 +
clients/client-support/src/models/models_0.ts | 102 +-
clients/client-swf/src/endpoints.ts | 1 +
clients/client-synthetics/src/endpoints.ts | 1 +
clients/client-textract/src/endpoints.ts | 1 +
.../client-timestream-query/src/endpoints.ts | 1 +
.../client-timestream-write/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
clients/client-transcribe/src/endpoints.ts | 1 +
clients/client-transfer/src/endpoints.ts | 1 +
.../client-transfer/src/models/models_0.ts | 144 +-
.../src/protocols/Aws_json1_1.ts | 7 +
clients/client-translate/src/endpoints.ts | 1 +
clients/client-voice-id/src/endpoints.ts | 1 +
clients/client-waf-regional/src/endpoints.ts | 1 +
clients/client-waf/src/endpoints.ts | 1 +
clients/client-wafv2/src/endpoints.ts | 1 +
.../client-wellarchitected/src/endpoints.ts | 1 +
clients/client-wisdom/src/endpoints.ts | 1 +
clients/client-workdocs/src/endpoints.ts | 1 +
clients/client-worklink/src/endpoints.ts | 1 +
clients/client-workmail/src/WorkMail.ts | 111 +
clients/client-workmail/src/WorkMailClient.ts | 18 +
...leteEmailMonitoringConfigurationCommand.ts | 106 +
...ribeEmailMonitoringConfigurationCommand.ts | 106 +
.../PutEmailMonitoringConfigurationCommand.ts | 103 +
clients/client-workmail/src/commands/index.ts | 3 +
clients/client-workmail/src/endpoints.ts | 1 +
.../client-workmail/src/models/models_0.ts | 137 +-
.../src/protocols/Aws_json1_1.ts | 339 +
.../src/endpoints.ts | 1 +
.../client-workspaces-web/src/endpoints.ts | 1 +
clients/client-workspaces/src/endpoints.ts | 1 +
clients/client-xray/src/endpoints.ts | 1 +
.../aws-models/amplifyuibuilder.json | 2404 +++++
.../sdk-codegen/aws-models/api-gateway.json | 12 +-
codegen/sdk-codegen/aws-models/appsync.json | 965 +-
.../aws-models/chime-sdk-messaging.json | 55 +-
.../aws-models/cloudwatch-logs.json | 17 +-
.../aws-models/comprehendmedical.json | 887 +-
.../aws-models/customer-profiles.json | 67 +-
codegen/sdk-codegen/aws-models/datasync.json | 147 +-
.../sdk-codegen/aws-models/devops-guru.json | 10 +
codegen/sdk-codegen/aws-models/ec2.json | 26 +-
.../sdk-codegen/aws-models/finspace-data.json | 54 +-
codegen/sdk-codegen/aws-models/forecast.json | 138 +-
codegen/sdk-codegen/aws-models/health.json | 22 +-
.../sdk-codegen/aws-models/imagebuilder.json | 228 +-
codegen/sdk-codegen/aws-models/iot.json | 108 +-
.../sdk-codegen/aws-models/lex-models-v2.json | 145 +-
codegen/sdk-codegen/aws-models/location.json | 321 +-
.../aws-models/lookoutmetrics.json | 192 +-
.../sdk-codegen/aws-models/lookoutvision.json | 811 +-
.../sdk-codegen/aws-models/mediaconnect.json | 129 +-
.../aws-models/network-firewall.json | 206 +-
.../aws-models/networkmanager.json | 8187 ++++++++++++----
codegen/sdk-codegen/aws-models/nimble.json | 450 +-
codegen/sdk-codegen/aws-models/outposts.json | 89 +-
codegen/sdk-codegen/aws-models/qldb.json | 99 +-
codegen/sdk-codegen/aws-models/ram.json | 545 +-
codegen/sdk-codegen/aws-models/redshift.json | 12 +-
.../sdk-codegen/aws-models/rekognition.json | 14 +-
.../aws-models/route-53-domains.json | 608 +-
codegen/sdk-codegen/aws-models/route-53.json | 79 +-
.../route53-recovery-control-config.json | 493 +-
codegen/sdk-codegen/aws-models/sagemaker.json | 18 +-
.../sdk-codegen/aws-models/savingsplans.json | 34 +-
.../aws-models/secrets-manager.json | 364 +-
.../sdk-codegen/aws-models/securityhub.json | 1292 ++-
codegen/sdk-codegen/aws-models/sms.json | 132 +-
codegen/sdk-codegen/aws-models/support.json | 148 +-
codegen/sdk-codegen/aws-models/transfer.json | 45 +-
codegen/sdk-codegen/aws-models/workmail.json | 204 +-
.../aws/typescript/codegen/endpoints.json | 143 +
.../aws-protocoltests-ec2/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../aws-protocoltests-json/src/endpoints.ts | 1 +
.../aws-protocoltests-query/src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
.../src/endpoints.ts | 1 +
722 files changed, 60908 insertions(+), 12563 deletions(-)
create mode 100644 clients/client-amplifyuibuilder/.gitignore
create mode 100644 clients/client-amplifyuibuilder/LICENSE
create mode 100644 clients/client-amplifyuibuilder/README.md
create mode 100644 clients/client-amplifyuibuilder/jest.config.js
create mode 100644 clients/client-amplifyuibuilder/package.json
create mode 100644 clients/client-amplifyuibuilder/src/AmplifyUIBuilder.ts
create mode 100644 clients/client-amplifyuibuilder/src/AmplifyUIBuilderClient.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/CreateComponentCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/CreateThemeCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/DeleteComponentCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/DeleteThemeCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/ExchangeCodeForTokenCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/ExportComponentsCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/ExportThemesCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/GetComponentCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/GetThemeCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/ListComponentsCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/ListThemesCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/RefreshTokenCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/UpdateComponentCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/UpdateThemeCommand.ts
create mode 100644 clients/client-amplifyuibuilder/src/commands/index.ts
create mode 100644 clients/client-amplifyuibuilder/src/endpoints.ts
create mode 100644 clients/client-amplifyuibuilder/src/index.ts
create mode 100644 clients/client-amplifyuibuilder/src/models/index.ts
create mode 100644 clients/client-amplifyuibuilder/src/models/models_0.ts
create mode 100644 clients/client-amplifyuibuilder/src/pagination/Interfaces.ts
create mode 100644 clients/client-amplifyuibuilder/src/pagination/ListComponentsPaginator.ts
create mode 100644 clients/client-amplifyuibuilder/src/pagination/ListThemesPaginator.ts
create mode 100644 clients/client-amplifyuibuilder/src/pagination/index.ts
create mode 100644 clients/client-amplifyuibuilder/src/protocols/Aws_restJson1.ts
create mode 100644 clients/client-amplifyuibuilder/src/runtimeConfig.browser.ts
create mode 100644 clients/client-amplifyuibuilder/src/runtimeConfig.native.ts
create mode 100644 clients/client-amplifyuibuilder/src/runtimeConfig.shared.ts
create mode 100644 clients/client-amplifyuibuilder/src/runtimeConfig.ts
create mode 100644 clients/client-amplifyuibuilder/tsconfig.es.json
create mode 100644 clients/client-amplifyuibuilder/tsconfig.json
create mode 100644 clients/client-amplifyuibuilder/tsconfig.types.json
create mode 100644 clients/client-appsync/src/commands/AssociateApiCommand.ts
create mode 100644 clients/client-appsync/src/commands/CreateDomainNameCommand.ts
create mode 100644 clients/client-appsync/src/commands/DeleteDomainNameCommand.ts
create mode 100644 clients/client-appsync/src/commands/DisassociateApiCommand.ts
create mode 100644 clients/client-appsync/src/commands/GetApiAssociationCommand.ts
create mode 100644 clients/client-appsync/src/commands/GetDomainNameCommand.ts
create mode 100644 clients/client-appsync/src/commands/ListDomainNamesCommand.ts
create mode 100644 clients/client-appsync/src/commands/UpdateDomainNameCommand.ts
create mode 100644 clients/client-comprehendmedical/src/commands/DescribeSNOMEDCTInferenceJobCommand.ts
create mode 100644 clients/client-comprehendmedical/src/commands/InferSNOMEDCTCommand.ts
create mode 100644 clients/client-comprehendmedical/src/commands/ListSNOMEDCTInferenceJobsCommand.ts
create mode 100644 clients/client-comprehendmedical/src/commands/StartSNOMEDCTInferenceJobCommand.ts
create mode 100644 clients/client-comprehendmedical/src/commands/StopSNOMEDCTInferenceJobCommand.ts
create mode 100644 clients/client-datasync/src/commands/CreateLocationFsxLustreCommand.ts
create mode 100644 clients/client-datasync/src/commands/DescribeLocationFsxLustreCommand.ts
create mode 100644 clients/client-ec2/src/waiters/waitForInternetGatewayExists.ts
create mode 100644 clients/client-imagebuilder/src/commands/ImportVmImageCommand.ts
create mode 100644 clients/client-location/src/commands/SearchPlaceIndexForSuggestionsCommand.ts
create mode 100644 clients/client-lookoutmetrics/src/commands/ListAnomalyGroupRelatedMetricsCommand.ts
create mode 100644 clients/client-lookoutmetrics/src/pagination/ListAnomalyGroupRelatedMetricsPaginator.ts
create mode 100644 clients/client-lookoutvision/src/commands/DescribeModelPackagingJobCommand.ts
create mode 100644 clients/client-lookoutvision/src/commands/ListModelPackagingJobsCommand.ts
create mode 100644 clients/client-lookoutvision/src/commands/StartModelPackagingJobCommand.ts
create mode 100644 clients/client-lookoutvision/src/pagination/ListModelPackagingJobsPaginator.ts
create mode 100644 clients/client-network-firewall/src/commands/DescribeRuleGroupMetadataCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/AcceptAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/AssociateConnectPeerCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/CreateConnectAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/CreateConnectPeerCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/CreateCoreNetworkCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/CreateSiteToSiteVpnAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/CreateVpcAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/DeleteAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/DeleteConnectPeerCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/DeleteCoreNetworkCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/DeleteCoreNetworkPolicyVersionCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/DeleteResourcePolicyCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/DisassociateConnectPeerCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/ExecuteCoreNetworkChangeSetCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetConnectAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetConnectPeerAssociationsCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetConnectPeerCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetCoreNetworkChangeSetCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetCoreNetworkCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetCoreNetworkPolicyCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetResourcePolicyCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetSiteToSiteVpnAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/GetVpcAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/ListAttachmentsCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/ListConnectPeersCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/ListCoreNetworkPolicyVersionsCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/ListCoreNetworksCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/PutCoreNetworkPolicyCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/PutResourcePolicyCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/RejectAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/RestoreCoreNetworkPolicyVersionCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/UpdateCoreNetworkCommand.ts
create mode 100644 clients/client-networkmanager/src/commands/UpdateVpcAttachmentCommand.ts
create mode 100644 clients/client-networkmanager/src/pagination/GetConnectPeerAssociationsPaginator.ts
create mode 100644 clients/client-networkmanager/src/pagination/GetCoreNetworkChangeSetPaginator.ts
create mode 100644 clients/client-networkmanager/src/pagination/ListAttachmentsPaginator.ts
create mode 100644 clients/client-networkmanager/src/pagination/ListConnectPeersPaginator.ts
create mode 100644 clients/client-networkmanager/src/pagination/ListCoreNetworkPolicyVersionsPaginator.ts
create mode 100644 clients/client-networkmanager/src/pagination/ListCoreNetworksPaginator.ts
create mode 100644 clients/client-outposts/src/commands/UpdateOutpostCommand.ts
create mode 100644 clients/client-route-53-domains/src/commands/DeleteDomainCommand.ts
create mode 100644 clients/client-route-53-domains/src/commands/ListPricesCommand.ts
create mode 100644 clients/client-route-53-domains/src/pagination/ListPricesPaginator.ts
create mode 100644 clients/client-route-53-domains/src/pagination/ViewBillingPaginator.ts
create mode 100644 clients/client-route53-recovery-control-config/src/commands/ListTagsForResourceCommand.ts
create mode 100644 clients/client-route53-recovery-control-config/src/commands/TagResourceCommand.ts
create mode 100644 clients/client-route53-recovery-control-config/src/commands/UntagResourceCommand.ts
create mode 100644 clients/client-workmail/src/commands/DeleteEmailMonitoringConfigurationCommand.ts
create mode 100644 clients/client-workmail/src/commands/DescribeEmailMonitoringConfigurationCommand.ts
create mode 100644 clients/client-workmail/src/commands/PutEmailMonitoringConfigurationCommand.ts
create mode 100644 codegen/sdk-codegen/aws-models/amplifyuibuilder.json
diff --git a/clients/client-accessanalyzer/src/endpoints.ts b/clients/client-accessanalyzer/src/endpoints.ts
index b6df9a040b4f..9b744badd805 100644
--- a/clients/client-accessanalyzer/src/endpoints.ts
+++ b/clients/client-accessanalyzer/src/endpoints.ts
@@ -93,6 +93,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-account/src/endpoints.ts b/clients/client-account/src/endpoints.ts
index 53371d440b75..1022a25171c7 100644
--- a/clients/client-account/src/endpoints.ts
+++ b/clients/client-account/src/endpoints.ts
@@ -33,6 +33,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"aws-global",
"ca-central-1",
"eu-central-1",
diff --git a/clients/client-acm-pca/src/endpoints.ts b/clients/client-acm-pca/src/endpoints.ts
index d348a781db37..8fc56c1a0479 100644
--- a/clients/client-acm-pca/src/endpoints.ts
+++ b/clients/client-acm-pca/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-acm/src/endpoints.ts b/clients/client-acm/src/endpoints.ts
index 2928c2f103c0..cb98f0e1c102 100644
--- a/clients/client-acm/src/endpoints.ts
+++ b/clients/client-acm/src/endpoints.ts
@@ -93,6 +93,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"ca-central-1-fips",
"eu-central-1",
diff --git a/clients/client-alexa-for-business/src/endpoints.ts b/clients/client-alexa-for-business/src/endpoints.ts
index ca011526d791..c49520ed5770 100644
--- a/clients/client-alexa-for-business/src/endpoints.ts
+++ b/clients/client-alexa-for-business/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-amp/src/endpoints.ts b/clients/client-amp/src/endpoints.ts
index b6c2de169c9c..eaa1fdaf0d8e 100644
--- a/clients/client-amp/src/endpoints.ts
+++ b/clients/client-amp/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-amplify/src/endpoints.ts b/clients/client-amplify/src/endpoints.ts
index d5255c75171d..dddd43ac0090 100644
--- a/clients/client-amplify/src/endpoints.ts
+++ b/clients/client-amplify/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-amplifybackend/src/endpoints.ts b/clients/client-amplifybackend/src/endpoints.ts
index 87a2fdf8c0d3..0befe34d1e16 100644
--- a/clients/client-amplifybackend/src/endpoints.ts
+++ b/clients/client-amplifybackend/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-amplifyuibuilder/.gitignore b/clients/client-amplifyuibuilder/.gitignore
new file mode 100644
index 000000000000..54f14c9aef25
--- /dev/null
+++ b/clients/client-amplifyuibuilder/.gitignore
@@ -0,0 +1,9 @@
+/node_modules/
+/build/
+/coverage/
+/docs/
+/dist-*
+*.tsbuildinfo
+*.tgz
+*.log
+package-lock.json
diff --git a/clients/client-amplifyuibuilder/LICENSE b/clients/client-amplifyuibuilder/LICENSE
new file mode 100644
index 000000000000..f9e0c8672bca
--- /dev/null
+++ b/clients/client-amplifyuibuilder/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/clients/client-amplifyuibuilder/README.md b/clients/client-amplifyuibuilder/README.md
new file mode 100644
index 000000000000..3520ac7bb99d
--- /dev/null
+++ b/clients/client-amplifyuibuilder/README.md
@@ -0,0 +1,212 @@
+# @aws-sdk/client-amplifyuibuilder
+
+[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-amplifyuibuilder/latest.svg)](https://www.npmjs.com/package/@aws-sdk/client-amplifyuibuilder)
+[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-amplifyuibuilder.svg)](https://www.npmjs.com/package/@aws-sdk/client-amplifyuibuilder)
+
+## Description
+
+AWS SDK for JavaScript AmplifyUIBuilder Client for Node.js, Browser and React Native.
+
+The Amplify UI Builder API provides a programmatic interface for creating and configuring
+user interface (UI) component libraries and themes for use in your Amplify applications. You
+can then connect these UI components to an application's backend Amazon Web Services
+resources.
+You can also use the Amplify Studio visual designer to create UI components and model data
+for an app. For more information, see Introduction in the
+Amplify Docs.
+The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation
+for client app development. For more information, see the Amplify Framework. For more information about
+deploying an Amplify application to Amazon Web Services, see the Amplify Console User Guide.
+
+## Installing
+
+To install the this package, simply type add or install @aws-sdk/client-amplifyuibuilder
+using your favorite package manager:
+
+- `npm install @aws-sdk/client-amplifyuibuilder`
+- `yarn add @aws-sdk/client-amplifyuibuilder`
+- `pnpm add @aws-sdk/client-amplifyuibuilder`
+
+## Getting Started
+
+### Import
+
+The AWS SDK is modulized by clients and commands.
+To send a request, you only need to import the `AmplifyUIBuilderClient` and
+the commands you need, for example `CreateComponentCommand`:
+
+```js
+// ES5 example
+const { AmplifyUIBuilderClient, CreateComponentCommand } = require("@aws-sdk/client-amplifyuibuilder");
+```
+
+```ts
+// ES6+ example
+import { AmplifyUIBuilderClient, CreateComponentCommand } from "@aws-sdk/client-amplifyuibuilder";
+```
+
+### Usage
+
+To send a request, you:
+
+- Initiate client with configuration (e.g. credentials, region).
+- Initiate command with input parameters.
+- Call `send` operation on client with command object as input.
+- If you are using a custom http handler, you may call `destroy()` to close open connections.
+
+```js
+// a client can be shared by different commands.
+const client = new AmplifyUIBuilderClient({ region: "REGION" });
+
+const params = {
+ /** input parameters */
+};
+const command = new CreateComponentCommand(params);
+```
+
+#### Async/await
+
+We recommend using [await](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await)
+operator to wait for the promise returned by send operation as follows:
+
+```js
+// async/await.
+try {
+ const data = await client.send(command);
+ // process data.
+} catch (error) {
+ // error handling.
+} finally {
+ // finally.
+}
+```
+
+Async-await is clean, concise, intuitive, easy to debug and has better error handling
+as compared to using Promise chains or callbacks.
+
+#### Promises
+
+You can also use [Promise chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#chaining)
+to execute send operation.
+
+```js
+client.send(command).then(
+ (data) => {
+ // process data.
+ },
+ (error) => {
+ // error handling.
+ }
+);
+```
+
+Promises can also be called using `.catch()` and `.finally()` as follows:
+
+```js
+client
+ .send(command)
+ .then((data) => {
+ // process data.
+ })
+ .catch((error) => {
+ // error handling.
+ })
+ .finally(() => {
+ // finally.
+ });
+```
+
+#### Callbacks
+
+We do not recommend using callbacks because of [callback hell](http://callbackhell.com/),
+but they are supported by the send operation.
+
+```js
+// callbacks.
+client.send(command, (err, data) => {
+ // proccess err and data.
+});
+```
+
+#### v2 compatible style
+
+The client can also send requests using v2 compatible style.
+However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post
+on [modular packages in AWS SDK for JavaScript](https://aws.amazon.com/blogs/developer/modular-packages-in-aws-sdk-for-javascript/)
+
+```ts
+import * as AWS from "@aws-sdk/client-amplifyuibuilder";
+const client = new AWS.AmplifyUIBuilder({ region: "REGION" });
+
+// async/await.
+try {
+ const data = await client.createComponent(params);
+ // process data.
+} catch (error) {
+ // error handling.
+}
+
+// Promises.
+client
+ .createComponent(params)
+ .then((data) => {
+ // process data.
+ })
+ .catch((error) => {
+ // error handling.
+ });
+
+// callbacks.
+client.createComponent(params, (err, data) => {
+ // proccess err and data.
+});
+```
+
+### Troubleshooting
+
+When the service returns an exception, the error will include the exception information,
+as well as response metadata (e.g. request id).
+
+```js
+try {
+ const data = await client.send(command);
+ // process data.
+} catch (error) {
+ const { requestId, cfId, extendedRequestId } = error.$metadata;
+ console.log({ requestId, cfId, extendedRequestId });
+ /**
+ * The keys within exceptions are also parsed.
+ * You can access them by specifying exception names:
+ * if (error.name === 'SomeServiceException') {
+ * const value = error.specialKeyInException;
+ * }
+ */
+}
+```
+
+## Getting Help
+
+Please use these community resources for getting help.
+We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.
+
+- Visit [Developer Guide](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/welcome.html)
+ or [API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/index.html).
+- Check out the blog posts tagged with [`aws-sdk-js`](https://aws.amazon.com/blogs/developer/tag/aws-sdk-js/)
+ on AWS Developer Blog.
+- Ask a question on [StackOverflow](https://stackoverflow.com/questions/tagged/aws-sdk-js) and tag it with `aws-sdk-js`.
+- Join the AWS JavaScript community on [gitter](https://gitter.im/aws/aws-sdk-js-v3).
+- If it turns out that you may have found a bug, please [open an issue](https://github.com/aws/aws-sdk-js-v3/issues/new/choose).
+
+To test your universal JavaScript code in Node.js, browser and react-native environments,
+visit our [code samples repo](https://github.com/aws-samples/aws-sdk-js-tests).
+
+## Contributing
+
+This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/client-amplifyuibuilder` package is updated.
+To contribute to client you can check our [generate clients scripts](https://github.com/aws/aws-sdk-js-v3/tree/main/scripts/generate-clients).
+
+## License
+
+This SDK is distributed under the
+[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),
+see LICENSE for more information.
diff --git a/clients/client-amplifyuibuilder/jest.config.js b/clients/client-amplifyuibuilder/jest.config.js
new file mode 100644
index 000000000000..02eed352c6a8
--- /dev/null
+++ b/clients/client-amplifyuibuilder/jest.config.js
@@ -0,0 +1,4 @@
+module.exports = {
+ preset: "ts-jest",
+ testMatch: ["**/*.spec.ts", "!**/*.browser.spec.ts", "!**/*.integ.spec.ts"],
+};
diff --git a/clients/client-amplifyuibuilder/package.json b/clients/client-amplifyuibuilder/package.json
new file mode 100644
index 000000000000..28d71b4d7556
--- /dev/null
+++ b/clients/client-amplifyuibuilder/package.json
@@ -0,0 +1,96 @@
+{
+ "name": "@aws-sdk/client-amplifyuibuilder",
+ "description": "AWS SDK for JavaScript Amplifyuibuilder Client for Node.js, Browser and React Native",
+ "version": "3.0.0",
+ "scripts": {
+ "build": "yarn build:cjs && yarn build:es && yarn build:types",
+ "build:cjs": "tsc -p tsconfig.json",
+ "build:docs": "yarn clean:docs && typedoc ./",
+ "build:es": "tsc -p tsconfig.es.json",
+ "build:types": "tsc -p tsconfig.types.json",
+ "clean": "yarn clean:dist && yarn clean:docs",
+ "clean:dist": "rimraf ./dist-*",
+ "clean:docs": "rimraf ./docs",
+ "downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
+ "test": "jest --coverage --passWithNoTests"
+ },
+ "main": "./dist-cjs/index.js",
+ "types": "./dist-types/index.d.ts",
+ "module": "./dist-es/index.js",
+ "sideEffects": false,
+ "dependencies": {
+ "@aws-crypto/sha256-browser": "2.0.0",
+ "@aws-crypto/sha256-js": "2.0.0",
+ "@aws-sdk/client-sts": "3.43.0",
+ "@aws-sdk/config-resolver": "3.40.0",
+ "@aws-sdk/credential-provider-node": "3.41.0",
+ "@aws-sdk/fetch-http-handler": "3.40.0",
+ "@aws-sdk/hash-node": "3.40.0",
+ "@aws-sdk/invalid-dependency": "3.40.0",
+ "@aws-sdk/middleware-content-length": "3.40.0",
+ "@aws-sdk/middleware-host-header": "3.40.0",
+ "@aws-sdk/middleware-logger": "3.40.0",
+ "@aws-sdk/middleware-retry": "3.40.0",
+ "@aws-sdk/middleware-serde": "3.40.0",
+ "@aws-sdk/middleware-signing": "3.40.0",
+ "@aws-sdk/middleware-stack": "3.40.0",
+ "@aws-sdk/middleware-user-agent": "3.40.0",
+ "@aws-sdk/node-config-provider": "3.40.0",
+ "@aws-sdk/node-http-handler": "3.40.0",
+ "@aws-sdk/protocol-http": "3.40.0",
+ "@aws-sdk/smithy-client": "3.41.0",
+ "@aws-sdk/types": "3.40.0",
+ "@aws-sdk/url-parser": "3.40.0",
+ "@aws-sdk/util-base64-browser": "3.37.0",
+ "@aws-sdk/util-base64-node": "3.37.0",
+ "@aws-sdk/util-body-length-browser": "3.37.0",
+ "@aws-sdk/util-body-length-node": "3.37.0",
+ "@aws-sdk/util-user-agent-browser": "3.40.0",
+ "@aws-sdk/util-user-agent-node": "3.40.0",
+ "@aws-sdk/util-utf8-browser": "3.37.0",
+ "@aws-sdk/util-utf8-node": "3.37.0",
+ "tslib": "^2.3.0",
+ "uuid": "^8.3.2"
+ },
+ "devDependencies": {
+ "@aws-sdk/service-client-documentation-generator": "3.38.0",
+ "@types/node": "^12.7.5",
+ "@types/uuid": "^8.3.0",
+ "downlevel-dts": "0.7.0",
+ "jest": "^26.1.0",
+ "rimraf": "^3.0.0",
+ "ts-jest": "^26.4.1",
+ "typedoc": "^0.19.2",
+ "typescript": "~4.3.5"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "typesVersions": {
+ "<4.0": {
+ "dist-types/*": [
+ "dist-types/ts3.4/*"
+ ]
+ }
+ },
+ "files": [
+ "dist-*"
+ ],
+ "author": {
+ "name": "AWS SDK for JavaScript Team",
+ "url": "https://aws.amazon.com/javascript/"
+ },
+ "license": "Apache-2.0",
+ "browser": {
+ "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
+ },
+ "react-native": {
+ "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.native"
+ },
+ "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-amplifyuibuilder",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/aws/aws-sdk-js-v3.git",
+ "directory": "clients/client-amplifyuibuilder"
+ }
+}
diff --git a/clients/client-amplifyuibuilder/src/AmplifyUIBuilder.ts b/clients/client-amplifyuibuilder/src/AmplifyUIBuilder.ts
new file mode 100644
index 000000000000..01fe2da51d56
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/AmplifyUIBuilder.ts
@@ -0,0 +1,478 @@
+import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types";
+
+import { AmplifyUIBuilderClient } from "./AmplifyUIBuilderClient";
+import {
+ CreateComponentCommand,
+ CreateComponentCommandInput,
+ CreateComponentCommandOutput,
+} from "./commands/CreateComponentCommand";
+import { CreateThemeCommand, CreateThemeCommandInput, CreateThemeCommandOutput } from "./commands/CreateThemeCommand";
+import {
+ DeleteComponentCommand,
+ DeleteComponentCommandInput,
+ DeleteComponentCommandOutput,
+} from "./commands/DeleteComponentCommand";
+import { DeleteThemeCommand, DeleteThemeCommandInput, DeleteThemeCommandOutput } from "./commands/DeleteThemeCommand";
+import {
+ ExchangeCodeForTokenCommand,
+ ExchangeCodeForTokenCommandInput,
+ ExchangeCodeForTokenCommandOutput,
+} from "./commands/ExchangeCodeForTokenCommand";
+import {
+ ExportComponentsCommand,
+ ExportComponentsCommandInput,
+ ExportComponentsCommandOutput,
+} from "./commands/ExportComponentsCommand";
+import {
+ ExportThemesCommand,
+ ExportThemesCommandInput,
+ ExportThemesCommandOutput,
+} from "./commands/ExportThemesCommand";
+import {
+ GetComponentCommand,
+ GetComponentCommandInput,
+ GetComponentCommandOutput,
+} from "./commands/GetComponentCommand";
+import { GetThemeCommand, GetThemeCommandInput, GetThemeCommandOutput } from "./commands/GetThemeCommand";
+import {
+ ListComponentsCommand,
+ ListComponentsCommandInput,
+ ListComponentsCommandOutput,
+} from "./commands/ListComponentsCommand";
+import { ListThemesCommand, ListThemesCommandInput, ListThemesCommandOutput } from "./commands/ListThemesCommand";
+import {
+ RefreshTokenCommand,
+ RefreshTokenCommandInput,
+ RefreshTokenCommandOutput,
+} from "./commands/RefreshTokenCommand";
+import {
+ UpdateComponentCommand,
+ UpdateComponentCommandInput,
+ UpdateComponentCommandOutput,
+} from "./commands/UpdateComponentCommand";
+import { UpdateThemeCommand, UpdateThemeCommandInput, UpdateThemeCommandOutput } from "./commands/UpdateThemeCommand";
+
+/**
+ * The Amplify UI Builder API provides a programmatic interface for creating and configuring
+ * user interface (UI) component libraries and themes for use in your Amplify applications. You
+ * can then connect these UI components to an application's backend Amazon Web Services
+ * resources.
+ * You can also use the Amplify Studio visual designer to create UI components and model data
+ * for an app. For more information, see Introduction in the
+ * Amplify Docs.
+ * The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation
+ * for client app development. For more information, see the Amplify Framework. For more information about
+ * deploying an Amplify application to Amazon Web Services, see the Amplify Console User Guide.
+ */
+export class AmplifyUIBuilder extends AmplifyUIBuilderClient {
+ /**
+ * Creates a new component for an Amplify app.
+ */
+ public createComponent(
+ args: CreateComponentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createComponent(
+ args: CreateComponentCommandInput,
+ cb: (err: any, data?: CreateComponentCommandOutput) => void
+ ): void;
+ public createComponent(
+ args: CreateComponentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateComponentCommandOutput) => void
+ ): void;
+ public createComponent(
+ args: CreateComponentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateComponentCommandOutput) => void),
+ cb?: (err: any, data?: CreateComponentCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateComponentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 theme to apply to the components in an Amplify app.
+ */
+ public createTheme(args: CreateThemeCommandInput, options?: __HttpHandlerOptions): Promise;
+ public createTheme(args: CreateThemeCommandInput, cb: (err: any, data?: CreateThemeCommandOutput) => void): void;
+ public createTheme(
+ args: CreateThemeCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateThemeCommandOutput) => void
+ ): void;
+ public createTheme(
+ args: CreateThemeCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateThemeCommandOutput) => void),
+ cb?: (err: any, data?: CreateThemeCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateThemeCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Deletes a component from an Amplify app.
+ */
+ public deleteComponent(
+ args: DeleteComponentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteComponent(
+ args: DeleteComponentCommandInput,
+ cb: (err: any, data?: DeleteComponentCommandOutput) => void
+ ): void;
+ public deleteComponent(
+ args: DeleteComponentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteComponentCommandOutput) => void
+ ): void;
+ public deleteComponent(
+ args: DeleteComponentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteComponentCommandOutput) => void),
+ cb?: (err: any, data?: DeleteComponentCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteComponentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Deletes a theme from an Amplify app.
+ */
+ public deleteTheme(args: DeleteThemeCommandInput, options?: __HttpHandlerOptions): Promise;
+ public deleteTheme(args: DeleteThemeCommandInput, cb: (err: any, data?: DeleteThemeCommandOutput) => void): void;
+ public deleteTheme(
+ args: DeleteThemeCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteThemeCommandOutput) => void
+ ): void;
+ public deleteTheme(
+ args: DeleteThemeCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteThemeCommandOutput) => void),
+ cb?: (err: any, data?: DeleteThemeCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteThemeCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Exchanges an access code for a token.
+ */
+ public exchangeCodeForToken(
+ args: ExchangeCodeForTokenCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public exchangeCodeForToken(
+ args: ExchangeCodeForTokenCommandInput,
+ cb: (err: any, data?: ExchangeCodeForTokenCommandOutput) => void
+ ): void;
+ public exchangeCodeForToken(
+ args: ExchangeCodeForTokenCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ExchangeCodeForTokenCommandOutput) => void
+ ): void;
+ public exchangeCodeForToken(
+ args: ExchangeCodeForTokenCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExchangeCodeForTokenCommandOutput) => void),
+ cb?: (err: any, data?: ExchangeCodeForTokenCommandOutput) => void
+ ): Promise | void {
+ const command = new ExchangeCodeForTokenCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Exports component configurations to code that is ready to integrate into an Amplify
+ * app.
+ */
+ public exportComponents(
+ args: ExportComponentsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public exportComponents(
+ args: ExportComponentsCommandInput,
+ cb: (err: any, data?: ExportComponentsCommandOutput) => void
+ ): void;
+ public exportComponents(
+ args: ExportComponentsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ExportComponentsCommandOutput) => void
+ ): void;
+ public exportComponents(
+ args: ExportComponentsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExportComponentsCommandOutput) => void),
+ cb?: (err: any, data?: ExportComponentsCommandOutput) => void
+ ): Promise | void {
+ const command = new ExportComponentsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Exports theme configurations to code that is ready to integrate into an Amplify
+ * app.
+ */
+ public exportThemes(
+ args: ExportThemesCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public exportThemes(args: ExportThemesCommandInput, cb: (err: any, data?: ExportThemesCommandOutput) => void): void;
+ public exportThemes(
+ args: ExportThemesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ExportThemesCommandOutput) => void
+ ): void;
+ public exportThemes(
+ args: ExportThemesCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExportThemesCommandOutput) => void),
+ cb?: (err: any, data?: ExportThemesCommandOutput) => void
+ ): Promise | void {
+ const command = new ExportThemesCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns an existing component for an Amplify app.
+ */
+ public getComponent(
+ args: GetComponentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getComponent(args: GetComponentCommandInput, cb: (err: any, data?: GetComponentCommandOutput) => void): void;
+ public getComponent(
+ args: GetComponentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetComponentCommandOutput) => void
+ ): void;
+ public getComponent(
+ args: GetComponentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetComponentCommandOutput) => void),
+ cb?: (err: any, data?: GetComponentCommandOutput) => void
+ ): Promise | void {
+ const command = new GetComponentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns an existing theme for an Amplify app.
+ */
+ public getTheme(args: GetThemeCommandInput, options?: __HttpHandlerOptions): Promise;
+ public getTheme(args: GetThemeCommandInput, cb: (err: any, data?: GetThemeCommandOutput) => void): void;
+ public getTheme(
+ args: GetThemeCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetThemeCommandOutput) => void
+ ): void;
+ public getTheme(
+ args: GetThemeCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetThemeCommandOutput) => void),
+ cb?: (err: any, data?: GetThemeCommandOutput) => void
+ ): Promise | void {
+ const command = new GetThemeCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Retrieves a list of components for a specified Amplify app and backend environment.
+ */
+ public listComponents(
+ args: ListComponentsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listComponents(
+ args: ListComponentsCommandInput,
+ cb: (err: any, data?: ListComponentsCommandOutput) => void
+ ): void;
+ public listComponents(
+ args: ListComponentsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListComponentsCommandOutput) => void
+ ): void;
+ public listComponents(
+ args: ListComponentsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListComponentsCommandOutput) => void),
+ cb?: (err: any, data?: ListComponentsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListComponentsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Retrieves a list of themes for a specified Amplify app and backend environment.
+ */
+ public listThemes(args: ListThemesCommandInput, options?: __HttpHandlerOptions): Promise;
+ public listThemes(args: ListThemesCommandInput, cb: (err: any, data?: ListThemesCommandOutput) => void): void;
+ public listThemes(
+ args: ListThemesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListThemesCommandOutput) => void
+ ): void;
+ public listThemes(
+ args: ListThemesCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListThemesCommandOutput) => void),
+ cb?: (err: any, data?: ListThemesCommandOutput) => void
+ ): Promise | void {
+ const command = new ListThemesCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Refreshes a previously issued access token that might have expired.
+ */
+ public refreshToken(
+ args: RefreshTokenCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public refreshToken(args: RefreshTokenCommandInput, cb: (err: any, data?: RefreshTokenCommandOutput) => void): void;
+ public refreshToken(
+ args: RefreshTokenCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: RefreshTokenCommandOutput) => void
+ ): void;
+ public refreshToken(
+ args: RefreshTokenCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RefreshTokenCommandOutput) => void),
+ cb?: (err: any, data?: RefreshTokenCommandOutput) => void
+ ): Promise | void {
+ const command = new RefreshTokenCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 component.
+ */
+ public updateComponent(
+ args: UpdateComponentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateComponent(
+ args: UpdateComponentCommandInput,
+ cb: (err: any, data?: UpdateComponentCommandOutput) => void
+ ): void;
+ public updateComponent(
+ args: UpdateComponentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateComponentCommandOutput) => void
+ ): void;
+ public updateComponent(
+ args: UpdateComponentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateComponentCommandOutput) => void),
+ cb?: (err: any, data?: UpdateComponentCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateComponentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 theme.
+ */
+ public updateTheme(args: UpdateThemeCommandInput, options?: __HttpHandlerOptions): Promise;
+ public updateTheme(args: UpdateThemeCommandInput, cb: (err: any, data?: UpdateThemeCommandOutput) => void): void;
+ public updateTheme(
+ args: UpdateThemeCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateThemeCommandOutput) => void
+ ): void;
+ public updateTheme(
+ args: UpdateThemeCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateThemeCommandOutput) => void),
+ cb?: (err: any, data?: UpdateThemeCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateThemeCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+}
diff --git a/clients/client-amplifyuibuilder/src/AmplifyUIBuilderClient.ts b/clients/client-amplifyuibuilder/src/AmplifyUIBuilderClient.ts
new file mode 100644
index 000000000000..248954dc76c8
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/AmplifyUIBuilderClient.ts
@@ -0,0 +1,300 @@
+import {
+ EndpointsInputConfig,
+ EndpointsResolvedConfig,
+ RegionInputConfig,
+ RegionResolvedConfig,
+ resolveEndpointsConfig,
+ resolveRegionConfig,
+} from "@aws-sdk/config-resolver";
+import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length";
+import {
+ getHostHeaderPlugin,
+ HostHeaderInputConfig,
+ HostHeaderResolvedConfig,
+ resolveHostHeaderConfig,
+} from "@aws-sdk/middleware-host-header";
+import { getLoggerPlugin } from "@aws-sdk/middleware-logger";
+import { getRetryPlugin, resolveRetryConfig, RetryInputConfig, RetryResolvedConfig } from "@aws-sdk/middleware-retry";
+import {
+ AwsAuthInputConfig,
+ AwsAuthResolvedConfig,
+ getAwsAuthPlugin,
+ resolveAwsAuthConfig,
+} from "@aws-sdk/middleware-signing";
+import {
+ getUserAgentPlugin,
+ resolveUserAgentConfig,
+ UserAgentInputConfig,
+ UserAgentResolvedConfig,
+} from "@aws-sdk/middleware-user-agent";
+import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
+import {
+ Client as __Client,
+ SmithyConfiguration as __SmithyConfiguration,
+ SmithyResolvedConfiguration as __SmithyResolvedConfiguration,
+} from "@aws-sdk/smithy-client";
+import {
+ Credentials as __Credentials,
+ Decoder as __Decoder,
+ Encoder as __Encoder,
+ Hash as __Hash,
+ HashConstructor as __HashConstructor,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ Logger as __Logger,
+ Provider as __Provider,
+ Provider,
+ RegionInfoProvider,
+ StreamCollector as __StreamCollector,
+ UrlParser as __UrlParser,
+ UserAgent as __UserAgent,
+} from "@aws-sdk/types";
+
+import { CreateComponentCommandInput, CreateComponentCommandOutput } from "./commands/CreateComponentCommand";
+import { CreateThemeCommandInput, CreateThemeCommandOutput } from "./commands/CreateThemeCommand";
+import { DeleteComponentCommandInput, DeleteComponentCommandOutput } from "./commands/DeleteComponentCommand";
+import { DeleteThemeCommandInput, DeleteThemeCommandOutput } from "./commands/DeleteThemeCommand";
+import {
+ ExchangeCodeForTokenCommandInput,
+ ExchangeCodeForTokenCommandOutput,
+} from "./commands/ExchangeCodeForTokenCommand";
+import { ExportComponentsCommandInput, ExportComponentsCommandOutput } from "./commands/ExportComponentsCommand";
+import { ExportThemesCommandInput, ExportThemesCommandOutput } from "./commands/ExportThemesCommand";
+import { GetComponentCommandInput, GetComponentCommandOutput } from "./commands/GetComponentCommand";
+import { GetThemeCommandInput, GetThemeCommandOutput } from "./commands/GetThemeCommand";
+import { ListComponentsCommandInput, ListComponentsCommandOutput } from "./commands/ListComponentsCommand";
+import { ListThemesCommandInput, ListThemesCommandOutput } from "./commands/ListThemesCommand";
+import { RefreshTokenCommandInput, RefreshTokenCommandOutput } from "./commands/RefreshTokenCommand";
+import { UpdateComponentCommandInput, UpdateComponentCommandOutput } from "./commands/UpdateComponentCommand";
+import { UpdateThemeCommandInput, UpdateThemeCommandOutput } from "./commands/UpdateThemeCommand";
+import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
+
+export type ServiceInputTypes =
+ | CreateComponentCommandInput
+ | CreateThemeCommandInput
+ | DeleteComponentCommandInput
+ | DeleteThemeCommandInput
+ | ExchangeCodeForTokenCommandInput
+ | ExportComponentsCommandInput
+ | ExportThemesCommandInput
+ | GetComponentCommandInput
+ | GetThemeCommandInput
+ | ListComponentsCommandInput
+ | ListThemesCommandInput
+ | RefreshTokenCommandInput
+ | UpdateComponentCommandInput
+ | UpdateThemeCommandInput;
+
+export type ServiceOutputTypes =
+ | CreateComponentCommandOutput
+ | CreateThemeCommandOutput
+ | DeleteComponentCommandOutput
+ | DeleteThemeCommandOutput
+ | ExchangeCodeForTokenCommandOutput
+ | ExportComponentsCommandOutput
+ | ExportThemesCommandOutput
+ | GetComponentCommandOutput
+ | GetThemeCommandOutput
+ | ListComponentsCommandOutput
+ | ListThemesCommandOutput
+ | RefreshTokenCommandOutput
+ | UpdateComponentCommandOutput
+ | UpdateThemeCommandOutput;
+
+export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
+ /**
+ * The HTTP handler to use. Fetch in browser and Https in Nodejs.
+ */
+ requestHandler?: __HttpHandler;
+
+ /**
+ * A constructor for a class implementing the {@link __Hash} interface
+ * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
+ * @internal
+ */
+ sha256?: __HashConstructor;
+
+ /**
+ * The function that will be used to convert strings into HTTP endpoints.
+ * @internal
+ */
+ urlParser?: __UrlParser;
+
+ /**
+ * A function that can calculate the length of a request body.
+ * @internal
+ */
+ bodyLengthChecker?: (body: any) => number | undefined;
+
+ /**
+ * A function that converts a stream into an array of bytes.
+ * @internal
+ */
+ streamCollector?: __StreamCollector;
+
+ /**
+ * The function that will be used to convert a base64-encoded string to a byte array.
+ * @internal
+ */
+ base64Decoder?: __Decoder;
+
+ /**
+ * The function that will be used to convert binary data to a base64-encoded string.
+ * @internal
+ */
+ base64Encoder?: __Encoder;
+
+ /**
+ * The function that will be used to convert a UTF8-encoded string to a byte array.
+ * @internal
+ */
+ utf8Decoder?: __Decoder;
+
+ /**
+ * The function that will be used to convert binary data to a UTF-8 encoded string.
+ * @internal
+ */
+ utf8Encoder?: __Encoder;
+
+ /**
+ * The runtime environment.
+ * @internal
+ */
+ runtime?: string;
+
+ /**
+ * Disable dyanamically changing the endpoint of the client based on the hostPrefix
+ * trait of an operation.
+ */
+ disableHostPrefix?: boolean;
+
+ /**
+ * Value for how many times a request will be made at most in case of retry.
+ */
+ maxAttempts?: number | __Provider;
+
+ /**
+ * Specifies which retry algorithm to use.
+ */
+ retryMode?: string | __Provider;
+
+ /**
+ * Optional logger for logging debug/info/warn/error.
+ */
+ logger?: __Logger;
+
+ /**
+ * Enables IPv6/IPv4 dualstack endpoint.
+ */
+ useDualstackEndpoint?: boolean | __Provider;
+
+ /**
+ * Enables FIPS compatible endpoints.
+ */
+ useFipsEndpoint?: boolean | __Provider;
+
+ /**
+ * Unique service identifier.
+ * @internal
+ */
+ serviceId?: string;
+
+ /**
+ * The AWS region to which this client will send requests
+ */
+ region?: string | __Provider;
+
+ /**
+ * Default credentials provider; Not available in browser runtime.
+ * @internal
+ */
+ credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
+
+ /**
+ * Fetch related hostname, signing name or signing region with given region.
+ * @internal
+ */
+ regionInfoProvider?: RegionInfoProvider;
+
+ /**
+ * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
+ * @internal
+ */
+ defaultUserAgentProvider?: Provider<__UserAgent>;
+}
+
+type AmplifyUIBuilderClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> &
+ ClientDefaults &
+ RegionInputConfig &
+ EndpointsInputConfig &
+ RetryInputConfig &
+ HostHeaderInputConfig &
+ AwsAuthInputConfig &
+ UserAgentInputConfig;
+/**
+ * The configuration interface of AmplifyUIBuilderClient class constructor that set the region, credentials and other options.
+ */
+export interface AmplifyUIBuilderClientConfig extends AmplifyUIBuilderClientConfigType {}
+
+type AmplifyUIBuilderClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> &
+ Required &
+ RegionResolvedConfig &
+ EndpointsResolvedConfig &
+ RetryResolvedConfig &
+ HostHeaderResolvedConfig &
+ AwsAuthResolvedConfig &
+ UserAgentResolvedConfig;
+/**
+ * The resolved configuration interface of AmplifyUIBuilderClient class. This is resolved and normalized from the {@link AmplifyUIBuilderClientConfig | constructor configuration interface}.
+ */
+export interface AmplifyUIBuilderClientResolvedConfig extends AmplifyUIBuilderClientResolvedConfigType {}
+
+/**
+ * The Amplify UI Builder API provides a programmatic interface for creating and configuring
+ * user interface (UI) component libraries and themes for use in your Amplify applications. You
+ * can then connect these UI components to an application's backend Amazon Web Services
+ * resources.
+ * You can also use the Amplify Studio visual designer to create UI components and model data
+ * for an app. For more information, see Introduction in the
+ * Amplify Docs.
+ * The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation
+ * for client app development. For more information, see the Amplify Framework. For more information about
+ * deploying an Amplify application to Amazon Web Services, see the Amplify Console User Guide.
+ */
+export class AmplifyUIBuilderClient extends __Client<
+ __HttpHandlerOptions,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ /**
+ * The resolved configuration of AmplifyUIBuilderClient class. This is resolved and normalized from the {@link AmplifyUIBuilderClientConfig | constructor configuration interface}.
+ */
+ readonly config: AmplifyUIBuilderClientResolvedConfig;
+
+ constructor(configuration: AmplifyUIBuilderClientConfig) {
+ const _config_0 = __getRuntimeConfig(configuration);
+ const _config_1 = resolveRegionConfig(_config_0);
+ const _config_2 = resolveEndpointsConfig(_config_1);
+ const _config_3 = resolveRetryConfig(_config_2);
+ const _config_4 = resolveHostHeaderConfig(_config_3);
+ const _config_5 = resolveAwsAuthConfig(_config_4);
+ const _config_6 = resolveUserAgentConfig(_config_5);
+ super(_config_6);
+ this.config = _config_6;
+ this.middlewareStack.use(getRetryPlugin(this.config));
+ this.middlewareStack.use(getContentLengthPlugin(this.config));
+ this.middlewareStack.use(getHostHeaderPlugin(this.config));
+ this.middlewareStack.use(getLoggerPlugin(this.config));
+ this.middlewareStack.use(getAwsAuthPlugin(this.config));
+ this.middlewareStack.use(getUserAgentPlugin(this.config));
+ }
+
+ /**
+ * Destroy underlying resources, like sockets. It's usually not necessary to do this.
+ * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed.
+ * Otherwise, sockets might stay open for quite a long time before the server terminates them.
+ */
+ destroy(): void {
+ super.destroy();
+ }
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/CreateComponentCommand.ts b/clients/client-amplifyuibuilder/src/commands/CreateComponentCommand.ts
new file mode 100644
index 000000000000..175eb50e4551
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/CreateComponentCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { CreateComponentRequest, CreateComponentResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1CreateComponentCommand,
+ serializeAws_restJson1CreateComponentCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface CreateComponentCommandInput extends CreateComponentRequest {}
+export interface CreateComponentCommandOutput extends CreateComponentResponse, __MetadataBearer {}
+
+/**
+ * Creates a new component for an Amplify app.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, CreateComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, CreateComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new CreateComponentCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link CreateComponentCommandInput} for command's `input` shape.
+ * @see {@link CreateComponentCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class CreateComponentCommand extends $Command<
+ CreateComponentCommandInput,
+ CreateComponentCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateComponentCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "CreateComponentCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: CreateComponentRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: CreateComponentResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: CreateComponentCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1CreateComponentCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1CreateComponentCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/CreateThemeCommand.ts b/clients/client-amplifyuibuilder/src/commands/CreateThemeCommand.ts
new file mode 100644
index 000000000000..2b5dba0e1215
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/CreateThemeCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { CreateThemeRequest, CreateThemeResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1CreateThemeCommand,
+ serializeAws_restJson1CreateThemeCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface CreateThemeCommandInput extends CreateThemeRequest {}
+export interface CreateThemeCommandOutput extends CreateThemeResponse, __MetadataBearer {}
+
+/**
+ * Creates a theme to apply to the components in an Amplify app.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, CreateThemeCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, CreateThemeCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new CreateThemeCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link CreateThemeCommandInput} for command's `input` shape.
+ * @see {@link CreateThemeCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class CreateThemeCommand extends $Command<
+ CreateThemeCommandInput,
+ CreateThemeCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateThemeCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "CreateThemeCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: CreateThemeRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: CreateThemeResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: CreateThemeCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1CreateThemeCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1CreateThemeCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/DeleteComponentCommand.ts b/clients/client-amplifyuibuilder/src/commands/DeleteComponentCommand.ts
new file mode 100644
index 000000000000..0910bd052361
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/DeleteComponentCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { DeleteComponentRequest } from "../models/models_0";
+import {
+ deserializeAws_restJson1DeleteComponentCommand,
+ serializeAws_restJson1DeleteComponentCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface DeleteComponentCommandInput extends DeleteComponentRequest {}
+export interface DeleteComponentCommandOutput extends __MetadataBearer {}
+
+/**
+ * Deletes a component from an Amplify app.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, DeleteComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, DeleteComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new DeleteComponentCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link DeleteComponentCommandInput} for command's `input` shape.
+ * @see {@link DeleteComponentCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class DeleteComponentCommand extends $Command<
+ DeleteComponentCommandInput,
+ DeleteComponentCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteComponentCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "DeleteComponentCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: DeleteComponentRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: (output: any) => output,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: DeleteComponentCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1DeleteComponentCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1DeleteComponentCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/DeleteThemeCommand.ts b/clients/client-amplifyuibuilder/src/commands/DeleteThemeCommand.ts
new file mode 100644
index 000000000000..c1161896cf7d
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/DeleteThemeCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { DeleteThemeRequest } from "../models/models_0";
+import {
+ deserializeAws_restJson1DeleteThemeCommand,
+ serializeAws_restJson1DeleteThemeCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface DeleteThemeCommandInput extends DeleteThemeRequest {}
+export interface DeleteThemeCommandOutput extends __MetadataBearer {}
+
+/**
+ * Deletes a theme from an Amplify app.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, DeleteThemeCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, DeleteThemeCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new DeleteThemeCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link DeleteThemeCommandInput} for command's `input` shape.
+ * @see {@link DeleteThemeCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class DeleteThemeCommand extends $Command<
+ DeleteThemeCommandInput,
+ DeleteThemeCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteThemeCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "DeleteThemeCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: DeleteThemeRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: (output: any) => output,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: DeleteThemeCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1DeleteThemeCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1DeleteThemeCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/ExchangeCodeForTokenCommand.ts b/clients/client-amplifyuibuilder/src/commands/ExchangeCodeForTokenCommand.ts
new file mode 100644
index 000000000000..5c0dd07a2125
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/ExchangeCodeForTokenCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { ExchangeCodeForTokenRequest, ExchangeCodeForTokenResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ExchangeCodeForTokenCommand,
+ serializeAws_restJson1ExchangeCodeForTokenCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ExchangeCodeForTokenCommandInput extends ExchangeCodeForTokenRequest {}
+export interface ExchangeCodeForTokenCommandOutput extends ExchangeCodeForTokenResponse, __MetadataBearer {}
+
+/**
+ * Exchanges an access code for a token.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, ExchangeCodeForTokenCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, ExchangeCodeForTokenCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new ExchangeCodeForTokenCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ExchangeCodeForTokenCommandInput} for command's `input` shape.
+ * @see {@link ExchangeCodeForTokenCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class ExchangeCodeForTokenCommand extends $Command<
+ ExchangeCodeForTokenCommandInput,
+ ExchangeCodeForTokenCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ExchangeCodeForTokenCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "ExchangeCodeForTokenCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ExchangeCodeForTokenRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ExchangeCodeForTokenResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ExchangeCodeForTokenCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1ExchangeCodeForTokenCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1ExchangeCodeForTokenCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/ExportComponentsCommand.ts b/clients/client-amplifyuibuilder/src/commands/ExportComponentsCommand.ts
new file mode 100644
index 000000000000..b0c8527dc8c4
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/ExportComponentsCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { ExportComponentsRequest, ExportComponentsResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ExportComponentsCommand,
+ serializeAws_restJson1ExportComponentsCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ExportComponentsCommandInput extends ExportComponentsRequest {}
+export interface ExportComponentsCommandOutput extends ExportComponentsResponse, __MetadataBearer {}
+
+/**
+ * Exports component configurations to code that is ready to integrate into an Amplify
+ * app.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, ExportComponentsCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, ExportComponentsCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new ExportComponentsCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ExportComponentsCommandInput} for command's `input` shape.
+ * @see {@link ExportComponentsCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class ExportComponentsCommand extends $Command<
+ ExportComponentsCommandInput,
+ ExportComponentsCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ExportComponentsCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "ExportComponentsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ExportComponentsRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ExportComponentsResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ExportComponentsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1ExportComponentsCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1ExportComponentsCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/ExportThemesCommand.ts b/clients/client-amplifyuibuilder/src/commands/ExportThemesCommand.ts
new file mode 100644
index 000000000000..c07d94e5abc7
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/ExportThemesCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { ExportThemesRequest, ExportThemesResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ExportThemesCommand,
+ serializeAws_restJson1ExportThemesCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ExportThemesCommandInput extends ExportThemesRequest {}
+export interface ExportThemesCommandOutput extends ExportThemesResponse, __MetadataBearer {}
+
+/**
+ * Exports theme configurations to code that is ready to integrate into an Amplify
+ * app.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, ExportThemesCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, ExportThemesCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new ExportThemesCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ExportThemesCommandInput} for command's `input` shape.
+ * @see {@link ExportThemesCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class ExportThemesCommand extends $Command<
+ ExportThemesCommandInput,
+ ExportThemesCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ExportThemesCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "ExportThemesCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ExportThemesRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ExportThemesResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ExportThemesCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1ExportThemesCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1ExportThemesCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/GetComponentCommand.ts b/clients/client-amplifyuibuilder/src/commands/GetComponentCommand.ts
new file mode 100644
index 000000000000..9ef26ed36e9e
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/GetComponentCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { GetComponentRequest, GetComponentResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1GetComponentCommand,
+ serializeAws_restJson1GetComponentCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface GetComponentCommandInput extends GetComponentRequest {}
+export interface GetComponentCommandOutput extends GetComponentResponse, __MetadataBearer {}
+
+/**
+ * Returns an existing component for an Amplify app.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, GetComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, GetComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new GetComponentCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link GetComponentCommandInput} for command's `input` shape.
+ * @see {@link GetComponentCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class GetComponentCommand extends $Command<
+ GetComponentCommandInput,
+ GetComponentCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: GetComponentCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "GetComponentCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: GetComponentRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: GetComponentResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: GetComponentCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1GetComponentCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1GetComponentCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/GetThemeCommand.ts b/clients/client-amplifyuibuilder/src/commands/GetThemeCommand.ts
new file mode 100644
index 000000000000..cb8bf92b93a8
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/GetThemeCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { GetThemeRequest, GetThemeResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1GetThemeCommand,
+ serializeAws_restJson1GetThemeCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface GetThemeCommandInput extends GetThemeRequest {}
+export interface GetThemeCommandOutput extends GetThemeResponse, __MetadataBearer {}
+
+/**
+ * Returns an existing theme for an Amplify app.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, GetThemeCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, GetThemeCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new GetThemeCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link GetThemeCommandInput} for command's `input` shape.
+ * @see {@link GetThemeCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class GetThemeCommand extends $Command<
+ GetThemeCommandInput,
+ GetThemeCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: GetThemeCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "GetThemeCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: GetThemeRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: GetThemeResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: GetThemeCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1GetThemeCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1GetThemeCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/ListComponentsCommand.ts b/clients/client-amplifyuibuilder/src/commands/ListComponentsCommand.ts
new file mode 100644
index 000000000000..3a4d29122964
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/ListComponentsCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { ListComponentsRequest, ListComponentsResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ListComponentsCommand,
+ serializeAws_restJson1ListComponentsCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ListComponentsCommandInput extends ListComponentsRequest {}
+export interface ListComponentsCommandOutput extends ListComponentsResponse, __MetadataBearer {}
+
+/**
+ * Retrieves a list of components for a specified Amplify app and backend environment.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, ListComponentsCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, ListComponentsCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new ListComponentsCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ListComponentsCommandInput} for command's `input` shape.
+ * @see {@link ListComponentsCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class ListComponentsCommand extends $Command<
+ ListComponentsCommandInput,
+ ListComponentsCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ListComponentsCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "ListComponentsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ListComponentsRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ListComponentsResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ListComponentsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1ListComponentsCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1ListComponentsCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/ListThemesCommand.ts b/clients/client-amplifyuibuilder/src/commands/ListThemesCommand.ts
new file mode 100644
index 000000000000..a9a605925a41
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/ListThemesCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { ListThemesRequest, ListThemesResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ListThemesCommand,
+ serializeAws_restJson1ListThemesCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ListThemesCommandInput extends ListThemesRequest {}
+export interface ListThemesCommandOutput extends ListThemesResponse, __MetadataBearer {}
+
+/**
+ * Retrieves a list of themes for a specified Amplify app and backend environment.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, ListThemesCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, ListThemesCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new ListThemesCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ListThemesCommandInput} for command's `input` shape.
+ * @see {@link ListThemesCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class ListThemesCommand extends $Command<
+ ListThemesCommandInput,
+ ListThemesCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ListThemesCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "ListThemesCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ListThemesRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ListThemesResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ListThemesCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1ListThemesCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1ListThemesCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/RefreshTokenCommand.ts b/clients/client-amplifyuibuilder/src/commands/RefreshTokenCommand.ts
new file mode 100644
index 000000000000..d93ad42b321e
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/RefreshTokenCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { RefreshTokenRequest, RefreshTokenResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1RefreshTokenCommand,
+ serializeAws_restJson1RefreshTokenCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface RefreshTokenCommandInput extends RefreshTokenRequest {}
+export interface RefreshTokenCommandOutput extends RefreshTokenResponse, __MetadataBearer {}
+
+/**
+ * Refreshes a previously issued access token that might have expired.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, RefreshTokenCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, RefreshTokenCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new RefreshTokenCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link RefreshTokenCommandInput} for command's `input` shape.
+ * @see {@link RefreshTokenCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class RefreshTokenCommand extends $Command<
+ RefreshTokenCommandInput,
+ RefreshTokenCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: RefreshTokenCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "RefreshTokenCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: RefreshTokenRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: RefreshTokenResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: RefreshTokenCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1RefreshTokenCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1RefreshTokenCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/UpdateComponentCommand.ts b/clients/client-amplifyuibuilder/src/commands/UpdateComponentCommand.ts
new file mode 100644
index 000000000000..4465e227d675
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/UpdateComponentCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { UpdateComponentRequest, UpdateComponentResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1UpdateComponentCommand,
+ serializeAws_restJson1UpdateComponentCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface UpdateComponentCommandInput extends UpdateComponentRequest {}
+export interface UpdateComponentCommandOutput extends UpdateComponentResponse, __MetadataBearer {}
+
+/**
+ * Updates an existing component.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, UpdateComponentCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, UpdateComponentCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new UpdateComponentCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link UpdateComponentCommandInput} for command's `input` shape.
+ * @see {@link UpdateComponentCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class UpdateComponentCommand extends $Command<
+ UpdateComponentCommandInput,
+ UpdateComponentCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: UpdateComponentCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "UpdateComponentCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: UpdateComponentRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: UpdateComponentResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: UpdateComponentCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1UpdateComponentCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1UpdateComponentCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/UpdateThemeCommand.ts b/clients/client-amplifyuibuilder/src/commands/UpdateThemeCommand.ts
new file mode 100644
index 000000000000..6ba7fda8a446
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/UpdateThemeCommand.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 { AmplifyUIBuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AmplifyUIBuilderClient";
+import { UpdateThemeRequest, UpdateThemeResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1UpdateThemeCommand,
+ serializeAws_restJson1UpdateThemeCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface UpdateThemeCommandInput extends UpdateThemeRequest {}
+export interface UpdateThemeCommandOutput extends UpdateThemeResponse, __MetadataBearer {}
+
+/**
+ * Updates an existing theme.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AmplifyUIBuilderClient, UpdateThemeCommand } from "@aws-sdk/client-amplifyuibuilder"; // ES Modules import
+ * // const { AmplifyUIBuilderClient, UpdateThemeCommand } = require("@aws-sdk/client-amplifyuibuilder"); // CommonJS import
+ * const client = new AmplifyUIBuilderClient(config);
+ * const command = new UpdateThemeCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link UpdateThemeCommandInput} for command's `input` shape.
+ * @see {@link UpdateThemeCommandOutput} for command's `response` shape.
+ * @see {@link AmplifyUIBuilderClientResolvedConfig | config} for AmplifyUIBuilderClient's `config` shape.
+ *
+ */
+export class UpdateThemeCommand extends $Command<
+ UpdateThemeCommandInput,
+ UpdateThemeCommandOutput,
+ AmplifyUIBuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: UpdateThemeCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AmplifyUIBuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AmplifyUIBuilderClient";
+ const commandName = "UpdateThemeCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: UpdateThemeRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: UpdateThemeResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: UpdateThemeCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1UpdateThemeCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1UpdateThemeCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-amplifyuibuilder/src/commands/index.ts b/clients/client-amplifyuibuilder/src/commands/index.ts
new file mode 100644
index 000000000000..e6836538317f
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/commands/index.ts
@@ -0,0 +1,14 @@
+export * from "./CreateComponentCommand";
+export * from "./CreateThemeCommand";
+export * from "./DeleteComponentCommand";
+export * from "./DeleteThemeCommand";
+export * from "./ExchangeCodeForTokenCommand";
+export * from "./ExportComponentsCommand";
+export * from "./ExportThemesCommand";
+export * from "./GetComponentCommand";
+export * from "./GetThemeCommand";
+export * from "./ListComponentsCommand";
+export * from "./ListThemesCommand";
+export * from "./RefreshTokenCommand";
+export * from "./UpdateComponentCommand";
+export * from "./UpdateThemeCommand";
diff --git a/clients/client-amplifyuibuilder/src/endpoints.ts b/clients/client-amplifyuibuilder/src/endpoints.ts
new file mode 100644
index 000000000000..fe4817df34e4
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/endpoints.ts
@@ -0,0 +1,135 @@
+import { getRegionInfo, PartitionHash, RegionHash } from "@aws-sdk/config-resolver";
+import { RegionInfoProvider, RegionInfoProviderOptions } from "@aws-sdk/types";
+
+const regionHash: RegionHash = {};
+
+const partitionHash: PartitionHash = {
+ aws: {
+ regions: [
+ "af-south-1",
+ "ap-east-1",
+ "ap-northeast-1",
+ "ap-northeast-2",
+ "ap-northeast-3",
+ "ap-south-1",
+ "ap-southeast-1",
+ "ap-southeast-2",
+ "ap-southeast-3",
+ "ca-central-1",
+ "eu-central-1",
+ "eu-north-1",
+ "eu-south-1",
+ "eu-west-1",
+ "eu-west-2",
+ "eu-west-3",
+ "me-south-1",
+ "sa-east-1",
+ "us-east-1",
+ "us-east-2",
+ "us-west-1",
+ "us-west-2",
+ ],
+ regionRegex: "^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$",
+ variants: [
+ {
+ hostname: "amplifyuibuilder.{region}.amazonaws.com",
+ tags: [],
+ },
+ {
+ hostname: "amplifyuibuilder-fips.{region}.amazonaws.com",
+ tags: ["fips"],
+ },
+ {
+ hostname: "amplifyuibuilder-fips.{region}.api.aws",
+ tags: ["dualstack", "fips"],
+ },
+ {
+ hostname: "amplifyuibuilder.{region}.api.aws",
+ tags: ["dualstack"],
+ },
+ ],
+ },
+ "aws-cn": {
+ regions: ["cn-north-1", "cn-northwest-1"],
+ regionRegex: "^cn\\-\\w+\\-\\d+$",
+ variants: [
+ {
+ hostname: "amplifyuibuilder.{region}.amazonaws.com.cn",
+ tags: [],
+ },
+ {
+ hostname: "amplifyuibuilder-fips.{region}.amazonaws.com.cn",
+ tags: ["fips"],
+ },
+ {
+ hostname: "amplifyuibuilder-fips.{region}.api.amazonwebservices.com.cn",
+ tags: ["dualstack", "fips"],
+ },
+ {
+ hostname: "amplifyuibuilder.{region}.api.amazonwebservices.com.cn",
+ tags: ["dualstack"],
+ },
+ ],
+ },
+ "aws-iso": {
+ regions: ["us-iso-east-1", "us-iso-west-1"],
+ regionRegex: "^us\\-iso\\-\\w+\\-\\d+$",
+ variants: [
+ {
+ hostname: "amplifyuibuilder.{region}.c2s.ic.gov",
+ tags: [],
+ },
+ {
+ hostname: "amplifyuibuilder-fips.{region}.c2s.ic.gov",
+ tags: ["fips"],
+ },
+ ],
+ },
+ "aws-iso-b": {
+ regions: ["us-isob-east-1"],
+ regionRegex: "^us\\-isob\\-\\w+\\-\\d+$",
+ variants: [
+ {
+ hostname: "amplifyuibuilder.{region}.sc2s.sgov.gov",
+ tags: [],
+ },
+ {
+ hostname: "amplifyuibuilder-fips.{region}.sc2s.sgov.gov",
+ tags: ["fips"],
+ },
+ ],
+ },
+ "aws-us-gov": {
+ regions: ["us-gov-east-1", "us-gov-west-1"],
+ regionRegex: "^us\\-gov\\-\\w+\\-\\d+$",
+ variants: [
+ {
+ hostname: "amplifyuibuilder.{region}.amazonaws.com",
+ tags: [],
+ },
+ {
+ hostname: "amplifyuibuilder-fips.{region}.amazonaws.com",
+ tags: ["fips"],
+ },
+ {
+ hostname: "amplifyuibuilder-fips.{region}.api.aws",
+ tags: ["dualstack", "fips"],
+ },
+ {
+ hostname: "amplifyuibuilder.{region}.api.aws",
+ tags: ["dualstack"],
+ },
+ ],
+ },
+};
+
+export const defaultRegionInfoProvider: RegionInfoProvider = async (
+ region: string,
+ options?: RegionInfoProviderOptions
+) =>
+ getRegionInfo(region, {
+ ...options,
+ signingService: "amplifyuibuilder",
+ regionHash,
+ partitionHash,
+ });
diff --git a/clients/client-amplifyuibuilder/src/index.ts b/clients/client-amplifyuibuilder/src/index.ts
new file mode 100644
index 000000000000..bfe3dc4df844
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/index.ts
@@ -0,0 +1,5 @@
+export * from "./AmplifyUIBuilder";
+export * from "./AmplifyUIBuilderClient";
+export * from "./commands";
+export * from "./models";
+export * from "./pagination";
diff --git a/clients/client-amplifyuibuilder/src/models/index.ts b/clients/client-amplifyuibuilder/src/models/index.ts
new file mode 100644
index 000000000000..09c5d6e09b8c
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/models/index.ts
@@ -0,0 +1 @@
+export * from "./models_0";
diff --git a/clients/client-amplifyuibuilder/src/models/models_0.ts b/clients/client-amplifyuibuilder/src/models/models_0.ts
new file mode 100644
index 000000000000..c1352f263a71
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/models/models_0.ts
@@ -0,0 +1,1652 @@
+import { SENSITIVE_STRING } from "@aws-sdk/smithy-client";
+import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types";
+
+/**
+ * Associates a component property to a binding property. This enables exposed properties on
+ * the top level component to propagate data to the component's property values.
+ */
+export interface ComponentPropertyBindingProperties {
+ /**
+ * The component property to bind to the data field.
+ */
+ property: string | undefined;
+
+ /**
+ * The data field to bind the property to.
+ */
+ field?: string;
+}
+
+export namespace ComponentPropertyBindingProperties {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentPropertyBindingProperties): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Describes how to bind a component property to form data.
+ */
+export interface FormBindingElement {
+ /**
+ * The name of the component to retrieve a value from.
+ */
+ element: string | undefined;
+
+ /**
+ * The property to retrieve a value from.
+ */
+ property: string | undefined;
+}
+
+export namespace FormBindingElement {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: FormBindingElement): any => ({
+ ...obj,
+ });
+}
+
+export type SortDirection = "ASC" | "DESC";
+
+/**
+ * Describes how to sort the data that you bind to a component.
+ */
+export interface SortProperty {
+ /**
+ * The field to perform the sort on.
+ */
+ field: string | undefined;
+
+ /**
+ * The direction of the sort, either ascending or descending.
+ */
+ direction: SortDirection | string | undefined;
+}
+
+export namespace SortProperty {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SortProperty): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Describes the style configuration of a unique variation of a main component.
+ */
+export interface ComponentVariant {
+ /**
+ * The combination of variants that comprise this variant.
+ */
+ variantValues?: { [key: string]: string };
+
+ /**
+ * The properties of the component variant that can be overriden when customizing an instance
+ * of the component.
+ */
+ overrides?: { [key: string]: { [key: string]: string } };
+}
+
+export namespace ComponentVariant {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentVariant): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * An internal error has occurred. Please retry your request.
+ */
+export interface InternalServerException extends __SmithyException, $MetadataBearer {
+ name: "InternalServerException";
+ $fault: "server";
+ message?: string;
+}
+
+export namespace InternalServerException {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: InternalServerException): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * An invalid or out-of-range value was supplied for the input parameter.
+ */
+export interface InvalidParameterException extends __SmithyException, $MetadataBearer {
+ name: "InvalidParameterException";
+ $fault: "client";
+ message?: string;
+}
+
+export namespace InvalidParameterException {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: InvalidParameterException): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * The resource specified in the request conflicts with an existing resource.
+ */
+export interface ResourceConflictException extends __SmithyException, $MetadataBearer {
+ name: "ResourceConflictException";
+ $fault: "client";
+ message?: string;
+}
+
+export namespace ResourceConflictException {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ResourceConflictException): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * You exceeded your service quota. Service quotas, also referred to as limits, are the
+ * maximum number of service resources or operations for your Amazon Web Services account.
+ */
+export interface ServiceQuotaExceededException extends __SmithyException, $MetadataBearer {
+ name: "ServiceQuotaExceededException";
+ $fault: "client";
+ message?: string;
+}
+
+export namespace ServiceQuotaExceededException {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ServiceQuotaExceededException): any => ({
+ ...obj,
+ });
+}
+
+export interface DeleteComponentRequest {
+ /**
+ * The unique ID of the Amplify app associated with the component to delete.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique ID of the component to delete.
+ */
+ id: string | undefined;
+}
+
+export namespace DeleteComponentRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DeleteComponentRequest): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * The requested resource does not exist, or access was denied.
+ */
+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 ExportComponentsRequest {
+ /**
+ * The unique ID of the Amplify app to export components to.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+}
+
+export namespace ExportComponentsRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ExportComponentsRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface GetComponentRequest {
+ /**
+ * The unique ID of the Amplify app.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique ID of the component.
+ */
+ id: string | undefined;
+}
+
+export namespace GetComponentRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GetComponentRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface ListComponentsRequest {
+ /**
+ * The unique ID for the Amplify app.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The token to request the next page of results.
+ */
+ nextToken?: string;
+
+ /**
+ * The maximum number of components to retrieve.
+ */
+ maxResults?: number;
+}
+
+export namespace ListComponentsRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListComponentsRequest): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Contains a summary of a component. This is a read-only data type that is returned by
+ * ListComponents
.
+ */
+export interface ComponentSummary {
+ /**
+ * The unique ID of the Amplify app associated with the component.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique ID of the component.
+ */
+ id: string | undefined;
+
+ /**
+ * The name of the component.
+ */
+ name: string | undefined;
+
+ /**
+ * The component type.
+ */
+ componentType: string | undefined;
+}
+
+export namespace ComponentSummary {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentSummary): any => ({
+ ...obj,
+ });
+}
+
+export interface ListComponentsResponse {
+ /**
+ * The list of components for the Amplify app.
+ */
+ entities: ComponentSummary[] | undefined;
+
+ /**
+ * The pagination token that's included if more results are available.
+ */
+ nextToken?: string;
+}
+
+export namespace ListComponentsResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListComponentsResponse): any => ({
+ ...obj,
+ });
+}
+
+export enum TokenProviders {
+ /**
+ * The figma token provider.
+ */
+ FIGMA = "figma",
+}
+
+/**
+ * Describes the configuration of a request to exchange an access code for a token.
+ */
+export interface ExchangeCodeForTokenRequestBody {
+ /**
+ * The access code to send in the request.
+ */
+ code: string | undefined;
+
+ /**
+ * The location of the application that will receive the access code.
+ */
+ redirectUri: string | undefined;
+}
+
+export namespace ExchangeCodeForTokenRequestBody {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ExchangeCodeForTokenRequestBody): any => ({
+ ...obj,
+ ...(obj.code && { code: SENSITIVE_STRING }),
+ });
+}
+
+export interface ExchangeCodeForTokenRequest {
+ /**
+ * The third-party provider for the token. The only valid value is figma
.
+ */
+ provider: TokenProviders | string | undefined;
+
+ /**
+ * Describes the configuration of the request.
+ */
+ request: ExchangeCodeForTokenRequestBody | undefined;
+}
+
+export namespace ExchangeCodeForTokenRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ExchangeCodeForTokenRequest): any => ({
+ ...obj,
+ ...(obj.request && { request: ExchangeCodeForTokenRequestBody.filterSensitiveLog(obj.request) }),
+ });
+}
+
+export interface ExchangeCodeForTokenResponse {
+ /**
+ * The access token.
+ */
+ accessToken: string | undefined;
+
+ /**
+ * The date and time when the new access token expires.
+ */
+ expiresIn: number | undefined;
+
+ /**
+ * The token to use to refresh a previously issued access token that might have
+ * expired.
+ */
+ refreshToken: string | undefined;
+}
+
+export namespace ExchangeCodeForTokenResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ExchangeCodeForTokenResponse): any => ({
+ ...obj,
+ ...(obj.accessToken && { accessToken: SENSITIVE_STRING }),
+ ...(obj.refreshToken && { refreshToken: SENSITIVE_STRING }),
+ });
+}
+
+/**
+ * Describes a refresh token.
+ */
+export interface RefreshTokenRequestBody {
+ /**
+ * The token to use to refresh a previously issued access token that might have
+ * expired.
+ */
+ token: string | undefined;
+}
+
+export namespace RefreshTokenRequestBody {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: RefreshTokenRequestBody): any => ({
+ ...obj,
+ ...(obj.token && { token: SENSITIVE_STRING }),
+ });
+}
+
+export interface RefreshTokenRequest {
+ /**
+ * The third-party provider for the token. The only valid value is figma
.
+ */
+ provider: TokenProviders | string | undefined;
+
+ /**
+ * Information about the refresh token request.
+ */
+ refreshTokenBody: RefreshTokenRequestBody | undefined;
+}
+
+export namespace RefreshTokenRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: RefreshTokenRequest): any => ({
+ ...obj,
+ ...(obj.refreshTokenBody && { refreshTokenBody: RefreshTokenRequestBody.filterSensitiveLog(obj.refreshTokenBody) }),
+ });
+}
+
+export interface RefreshTokenResponse {
+ /**
+ * The access token.
+ */
+ accessToken: string | undefined;
+
+ /**
+ * The date and time when the new access token expires.
+ */
+ expiresIn: number | undefined;
+}
+
+export namespace RefreshTokenResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: RefreshTokenResponse): any => ({
+ ...obj,
+ ...(obj.accessToken && { accessToken: SENSITIVE_STRING }),
+ });
+}
+
+export interface DeleteThemeRequest {
+ /**
+ * The unique ID of the Amplify app associated with the theme to delete.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique ID of the theme to delete.
+ */
+ id: string | undefined;
+}
+
+export namespace DeleteThemeRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DeleteThemeRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface ExportThemesRequest {
+ /**
+ * The unique ID of the Amplify app to export the themes to.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is part of the Amplify app.
+ */
+ environmentName: string | undefined;
+}
+
+export namespace ExportThemesRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ExportThemesRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface GetThemeRequest {
+ /**
+ * The unique ID of the Amplify app.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique ID for the theme.
+ */
+ id: string | undefined;
+}
+
+export namespace GetThemeRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GetThemeRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface ListThemesRequest {
+ /**
+ * The unique ID for the Amplify app.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The token to request the next page of results.
+ */
+ nextToken?: string;
+
+ /**
+ * The maximum number of theme results to return in the response.
+ */
+ maxResults?: number;
+}
+
+export namespace ListThemesRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListThemesRequest): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Describes the basic information about a theme.
+ */
+export interface ThemeSummary {
+ /**
+ * The unique ID for the app associated with the theme summary.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The ID of the theme.
+ */
+ id: string | undefined;
+
+ /**
+ * The name of the theme.
+ */
+ name: string | undefined;
+}
+
+export namespace ThemeSummary {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ThemeSummary): any => ({
+ ...obj,
+ });
+}
+
+export interface ListThemesResponse {
+ /**
+ * The list of themes for the Amplify app.
+ */
+ entities: ThemeSummary[] | undefined;
+
+ /**
+ * The pagination token that's returned if more results are available.
+ */
+ nextToken?: string;
+}
+
+export namespace ListThemesResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListThemesResponse): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Describes the configuration of a theme's properties.
+ */
+export interface ThemeValue {
+ /**
+ * The value of a theme property.
+ */
+ value?: string;
+
+ /**
+ * A list of key-value pairs that define the theme's properties.
+ */
+ children?: ThemeValues[];
+}
+
+export namespace ThemeValue {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ThemeValue): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * A key-value pair that defines a property of a theme.
+ */
+export interface ThemeValues {
+ /**
+ * The name of the property.
+ */
+ key?: string;
+
+ /**
+ * The value of the property.
+ */
+ value?: ThemeValue;
+}
+
+export namespace ThemeValues {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ThemeValues): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Stores information for generating Amplify DataStore queries. Use a Predicate
+ * to retrieve a subset of the data in a collection.
+ */
+export interface Predicate {
+ /**
+ * A list of predicates to combine logically.
+ */
+ or?: Predicate[];
+
+ /**
+ * A list of predicates to combine logically.
+ */
+ and?: Predicate[];
+
+ /**
+ * The field to query.
+ */
+ field?: string;
+
+ /**
+ * The operator to use to perform the evaluation.
+ */
+ operator?: string;
+
+ /**
+ * The value to use when performing the evaluation.
+ */
+ operand?: string;
+}
+
+export namespace Predicate {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: Predicate): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Represents the data binding configuration for a specific property using data stored in
+ * Amazon Web Services. For Amazon Web Services connected properties, you can bind a property to
+ * data stored in an Amazon S3 bucket, an Amplify DataStore model or an
+ * authenticated user attribute.
+ */
+export interface ComponentBindingPropertiesValueProperties {
+ /**
+ * An Amplify DataStore model.
+ */
+ model?: string;
+
+ /**
+ * The field to bind the data to.
+ */
+ field?: string;
+
+ /**
+ * A list of predicates for binding a component's properties to data.
+ */
+ predicates?: Predicate[];
+
+ /**
+ * An authenticated user attribute.
+ */
+ userAttribute?: string;
+
+ /**
+ * An Amazon S3 bucket.
+ */
+ bucket?: string;
+
+ /**
+ * The storage key for an Amazon S3 bucket.
+ */
+ key?: string;
+
+ /**
+ * The default value to assign to the property.
+ */
+ defaultValue?: string;
+}
+
+export namespace ComponentBindingPropertiesValueProperties {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentBindingPropertiesValueProperties): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Describes the configuration for binding a component's properties to data.
+ */
+export interface ComponentDataConfiguration {
+ /**
+ * The name of the data model to use to bind data to a component.
+ */
+ model: string | undefined;
+
+ /**
+ * Describes how to sort the component's properties.
+ */
+ sort?: SortProperty[];
+
+ /**
+ * Represents the conditional logic to use when binding data to a component. Use this
+ * property to retrieve only a subset of the data in a collection.
+ */
+ predicate?: Predicate;
+
+ /**
+ * A list of IDs to use to bind data to a component. Use this property to bind specifically
+ * chosen data, rather than data retrieved from a query.
+ */
+ identifiers?: string[];
+}
+
+export namespace ComponentDataConfiguration {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentDataConfiguration): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Describes the configuration for all of a component's properties. Use
+ * ComponentProperty
to specify the values to render or bind by
+ * default.
+ */
+export interface ComponentProperty {
+ /**
+ * The value to assign to the component property.
+ */
+ value?: string;
+
+ /**
+ * The information to bind the component property to data at runtime.
+ */
+ bindingProperties?: ComponentPropertyBindingProperties;
+
+ /**
+ * The information to bind the component property to data at runtime. Use this for collection components.
+ */
+ collectionBindingProperties?: ComponentPropertyBindingProperties;
+
+ /**
+ * The default value to assign to the component property.
+ */
+ defaultValue?: string;
+
+ /**
+ * The data model to use to assign a value to the component property.
+ */
+ model?: string;
+
+ /**
+ * The information to bind the component property to form data.
+ */
+ bindings?: { [key: string]: FormBindingElement };
+
+ /**
+ * An event that occurs in your app. Use this for workflow data binding.
+ */
+ event?: string;
+
+ /**
+ * An authenticated user attribute to use to assign a value to the component property.
+ */
+ userAttribute?: string;
+
+ /**
+ * A list of component properties to concatenate to create the value to assign to this component property.
+ */
+ concat?: ComponentProperty[];
+
+ /**
+ * The conditional expression to use to assign a value to the component property..
+ */
+ condition?: ComponentConditionProperty;
+
+ /**
+ * Specifies whether the user configured the property in Amplify Studio after importing it.
+ */
+ configured?: boolean;
+
+ /**
+ * The component type.
+ */
+ type?: string;
+
+ /**
+ * The default value assigned to property when the component is imported into an app.
+ */
+ importedValue?: string;
+}
+
+export namespace ComponentProperty {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentProperty): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Represents the data binding configuration for a component at runtime. You can use
+ * ComponentBindingPropertiesValue
to add exposed properties to a component to
+ * allow different values to be entered when a component is reused in different places in an
+ * app.
+ */
+export interface ComponentBindingPropertiesValue {
+ /**
+ * The property type.
+ */
+ type?: string;
+
+ /**
+ * Describes the properties to customize with data at runtime.
+ */
+ bindingProperties?: ComponentBindingPropertiesValueProperties;
+
+ /**
+ * The default value of the property.
+ */
+ defaultValue?: string;
+}
+
+export namespace ComponentBindingPropertiesValue {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentBindingPropertiesValue): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Represents all of the information that is required to create a theme.
+ */
+export interface CreateThemeData {
+ /**
+ * The name of the theme.
+ */
+ name: string | undefined;
+
+ /**
+ * A list of key-value pairs that defines the properties of the theme.
+ */
+ values: ThemeValues[] | undefined;
+
+ /**
+ * Describes the properties that can be overriden to customize an instance of the
+ * theme.
+ */
+ overrides?: ThemeValues[];
+
+ /**
+ * One or more key-value pairs to use when tagging the theme data.
+ */
+ tags?: { [key: string]: string };
+}
+
+export namespace CreateThemeData {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateThemeData): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * A theme is a collection of style settings that apply globally to the components associated
+ * with an Amplify application.
+ */
+export interface Theme {
+ /**
+ * The unique ID for the Amplify app associated with the theme.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The ID for the theme.
+ */
+ id: string | undefined;
+
+ /**
+ * The name of the theme.
+ */
+ name: string | undefined;
+
+ /**
+ * The time that the theme was created.
+ */
+ createdAt: Date | undefined;
+
+ /**
+ * The time that the theme was modified.
+ */
+ modifiedAt?: Date;
+
+ /**
+ * A list of key-value pairs that defines the properties of the theme.
+ */
+ values: ThemeValues[] | undefined;
+
+ /**
+ * Describes the properties that can be overriden to customize a theme.
+ */
+ overrides?: ThemeValues[];
+
+ /**
+ * One or more key-value pairs to use when tagging the theme.
+ */
+ tags?: { [key: string]: string };
+}
+
+export namespace Theme {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: Theme): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Saves the data binding information for a theme.
+ */
+export interface UpdateThemeData {
+ /**
+ * The unique ID of the theme to update.
+ */
+ id?: string;
+
+ /**
+ * The name of the theme to update.
+ */
+ name?: string;
+
+ /**
+ * A list of key-value pairs that define the theme's properties.
+ */
+ values: ThemeValues[] | undefined;
+
+ /**
+ * Describes the properties that can be overriden to customize the theme.
+ */
+ overrides?: ThemeValues[];
+}
+
+export namespace UpdateThemeData {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: UpdateThemeData): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Represents a conditional expression to set a component property. Use
+ * ComponentConditionProperty
to set a property to different values conditionally,
+ * based on the value of another property.
+ */
+export interface ComponentConditionProperty {
+ /**
+ * The name of the conditional property.
+ */
+ property?: string;
+
+ /**
+ * The name of a field. Specify this when the property is a data model.
+ */
+ field?: string;
+
+ /**
+ * The operator to use to perform the evaluation, such as eq
to represent
+ * equals.
+ */
+ operator?: string;
+
+ /**
+ * The value of the property to evaluate.
+ */
+ operand?: string;
+
+ /**
+ * The value to assign to the property if the condition is met.
+ */
+ then?: ComponentProperty;
+
+ /**
+ * The value to assign to the property if the condition is not met.
+ */
+ else?: ComponentProperty;
+}
+
+export namespace ComponentConditionProperty {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentConditionProperty): any => ({
+ ...obj,
+ });
+}
+
+export interface CreateThemeRequest {
+ /**
+ * The unique ID of the Amplify app associated with the theme.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique client token.
+ */
+ clientToken?: string;
+
+ /**
+ * Represents the configuration of the theme to create.
+ */
+ themeToCreate: CreateThemeData | undefined;
+}
+
+export namespace CreateThemeRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateThemeRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface CreateThemeResponse {
+ /**
+ * Describes the configuration of the new theme.
+ */
+ entity?: Theme;
+}
+
+export namespace CreateThemeResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateThemeResponse): any => ({
+ ...obj,
+ });
+}
+
+export interface GetThemeResponse {
+ /**
+ * Represents the configuration settings for the theme.
+ */
+ theme?: Theme;
+}
+
+export namespace GetThemeResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GetThemeResponse): any => ({
+ ...obj,
+ });
+}
+
+export interface UpdateThemeRequest {
+ /**
+ * The unique ID for the Amplify app.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique ID for the theme.
+ */
+ id: string | undefined;
+
+ /**
+ * The unique client token.
+ */
+ clientToken?: string;
+
+ /**
+ * The configuration of the updated theme.
+ */
+ updatedTheme: UpdateThemeData | undefined;
+}
+
+export namespace UpdateThemeRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: UpdateThemeRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface UpdateThemeResponse {
+ /**
+ * Describes the configuration of the updated theme.
+ */
+ entity?: Theme;
+}
+
+export namespace UpdateThemeResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: UpdateThemeResponse): any => ({
+ ...obj,
+ });
+}
+
+export interface ExportThemesResponse {
+ /**
+ * Represents the configuration of the exported themes.
+ */
+ entities: Theme[] | undefined;
+}
+
+export namespace ExportThemesResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ExportThemesResponse): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * A nested UI configuration within a parent Component
.
+ */
+export interface ComponentChild {
+ /**
+ * The type of the child component.
+ */
+ componentType: string | undefined;
+
+ /**
+ * The name of the child component.
+ */
+ name: string | undefined;
+
+ /**
+ * Describes the properties of the child component.
+ */
+ properties: { [key: string]: ComponentProperty } | undefined;
+
+ /**
+ * The list of ComponentChild
instances for this component.
+ */
+ children?: ComponentChild[];
+}
+
+export namespace ComponentChild {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ComponentChild): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Contains the configuration settings for a user interface (UI) element for an Amplify app. A
+ * component is configured as a primary, stand-alone UI element. Use ComponentChild
+ * to configure an instance of a Component
. A ComponentChild
instance
+ * inherits the configuration of the main Component
.
+ */
+export interface Component {
+ /**
+ * The unique ID of the Amplify app associated with the component.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique ID of the component in its original source system, such as Figma.
+ */
+ sourceId?: string;
+
+ /**
+ * The unique ID of the component.
+ */
+ id: string | undefined;
+
+ /**
+ * The name of the component.
+ */
+ name: string | undefined;
+
+ /**
+ * The type of the component. This can be an Amplify custom UI component or another custom
+ * component.
+ */
+ componentType: string | undefined;
+
+ /**
+ * Describes the component's properties.
+ */
+ properties: { [key: string]: ComponentProperty } | undefined;
+
+ /**
+ * A list of the component's ComponentChild
instances.
+ */
+ children?: ComponentChild[];
+
+ /**
+ * A list of the component's variants. A variant is a unique style configuration of a
+ * main component.
+ */
+ variants: ComponentVariant[] | undefined;
+
+ /**
+ * Describes the component's properties that can be overriden in a customized instance of the
+ * component.
+ */
+ overrides: { [key: string]: { [key: string]: string } } | undefined;
+
+ /**
+ * The information to connect a component's properties to data at runtime.
+ */
+ bindingProperties: { [key: string]: ComponentBindingPropertiesValue } | undefined;
+
+ /**
+ * The data binding configuration for the component's properties. Use this for a collection component.
+ */
+ collectionProperties?: { [key: string]: ComponentDataConfiguration };
+
+ /**
+ * The time that the component was created.
+ */
+ createdAt: Date | undefined;
+
+ /**
+ * The time that the component was modified.
+ */
+ modifiedAt?: Date;
+
+ /**
+ * One or more key-value pairs to use when tagging the component.
+ */
+ tags?: { [key: string]: string };
+}
+
+export namespace Component {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: Component): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Represents all of the information that is required to create a component.
+ */
+export interface CreateComponentData {
+ /**
+ * The name of the component
+ */
+ name: string | undefined;
+
+ /**
+ * The unique ID of the component in its original source system, such as Figma.
+ */
+ sourceId?: string;
+
+ /**
+ * The component type. This can be an Amplify custom UI component or another custom
+ * component.
+ */
+ componentType: string | undefined;
+
+ /**
+ * Describes the component's properties.
+ */
+ properties: { [key: string]: ComponentProperty } | undefined;
+
+ /**
+ * A list of child components that are instances of the main component.
+ */
+ children?: ComponentChild[];
+
+ /**
+ * A list of the unique variants of this component.
+ */
+ variants: ComponentVariant[] | undefined;
+
+ /**
+ * Describes the component properties that can be overriden to customize an instance of the
+ * component.
+ */
+ overrides: { [key: string]: { [key: string]: string } } | undefined;
+
+ /**
+ * The data binding information for the component's properties.
+ */
+ bindingProperties: { [key: string]: ComponentBindingPropertiesValue } | undefined;
+
+ /**
+ * The data binding configuration for customizing a component's properties. Use this for a collection component.
+ */
+ collectionProperties?: { [key: string]: ComponentDataConfiguration };
+
+ /**
+ * One or more key-value pairs to use when tagging the component data.
+ */
+ tags?: { [key: string]: string };
+}
+
+export namespace CreateComponentData {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateComponentData): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Updates and saves all of the information about a component, based on component ID.
+ */
+export interface UpdateComponentData {
+ /**
+ * The unique ID of the component to update.
+ */
+ id?: string;
+
+ /**
+ * The name of the component to update.
+ */
+ name?: string;
+
+ /**
+ * The unique ID of the component in its original source system, such as Figma.
+ */
+ sourceId?: string;
+
+ /**
+ * The type of the component. This can be an Amplify custom UI component or another custom
+ * component.
+ */
+ componentType?: string;
+
+ /**
+ * Describes the component's properties.
+ */
+ properties?: { [key: string]: ComponentProperty };
+
+ /**
+ * The components that are instances of the main component.
+ */
+ children?: ComponentChild[];
+
+ /**
+ * A list of the unique variants of the main component being updated.
+ */
+ variants?: ComponentVariant[];
+
+ /**
+ * Describes the properties that can be overriden to customize the component.
+ */
+ overrides?: { [key: string]: { [key: string]: string } };
+
+ /**
+ * The data binding information for the component's properties.
+ */
+ bindingProperties?: { [key: string]: ComponentBindingPropertiesValue };
+
+ /**
+ * The configuration for binding a component's properties to a data model. Use this for a collection component.
+ */
+ collectionProperties?: { [key: string]: ComponentDataConfiguration };
+}
+
+export namespace UpdateComponentData {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: UpdateComponentData): any => ({
+ ...obj,
+ });
+}
+
+export interface CreateComponentRequest {
+ /**
+ * The unique ID of the Amplify app to associate with the component.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is a part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique client token.
+ */
+ clientToken?: string;
+
+ /**
+ * Represents the configuration of the component to create.
+ */
+ componentToCreate: CreateComponentData | undefined;
+}
+
+export namespace CreateComponentRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateComponentRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface CreateComponentResponse {
+ /**
+ * Describes the configuration of the new component.
+ */
+ entity?: Component;
+}
+
+export namespace CreateComponentResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateComponentResponse): any => ({
+ ...obj,
+ });
+}
+
+export interface GetComponentResponse {
+ /**
+ * Represents the configuration settings for the component.
+ */
+ component?: Component;
+}
+
+export namespace GetComponentResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GetComponentResponse): any => ({
+ ...obj,
+ });
+}
+
+export interface UpdateComponentRequest {
+ /**
+ * The unique ID for the Amplify app.
+ */
+ appId: string | undefined;
+
+ /**
+ * The name of the backend environment that is part of the Amplify app.
+ */
+ environmentName: string | undefined;
+
+ /**
+ * The unique ID for the component.
+ */
+ id: string | undefined;
+
+ /**
+ * The unique client token.
+ */
+ clientToken?: string;
+
+ /**
+ * The configuration of the updated component.
+ */
+ updatedComponent: UpdateComponentData | undefined;
+}
+
+export namespace UpdateComponentRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: UpdateComponentRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface UpdateComponentResponse {
+ /**
+ * Describes the configuration of the updated component.
+ */
+ entity?: Component;
+}
+
+export namespace UpdateComponentResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: UpdateComponentResponse): any => ({
+ ...obj,
+ });
+}
+
+export interface ExportComponentsResponse {
+ /**
+ * Represents the configuration of the exported components.
+ */
+ entities: Component[] | undefined;
+}
+
+export namespace ExportComponentsResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ExportComponentsResponse): any => ({
+ ...obj,
+ });
+}
diff --git a/clients/client-amplifyuibuilder/src/pagination/Interfaces.ts b/clients/client-amplifyuibuilder/src/pagination/Interfaces.ts
new file mode 100644
index 000000000000..60a6a978a1b1
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/pagination/Interfaces.ts
@@ -0,0 +1,8 @@
+import { PaginationConfiguration } from "@aws-sdk/types";
+
+import { AmplifyUIBuilder } from "../AmplifyUIBuilder";
+import { AmplifyUIBuilderClient } from "../AmplifyUIBuilderClient";
+
+export interface AmplifyUIBuilderPaginationConfiguration extends PaginationConfiguration {
+ client: AmplifyUIBuilder | AmplifyUIBuilderClient;
+}
diff --git a/clients/client-amplifyuibuilder/src/pagination/ListComponentsPaginator.ts b/clients/client-amplifyuibuilder/src/pagination/ListComponentsPaginator.ts
new file mode 100644
index 000000000000..2703e44e2007
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/pagination/ListComponentsPaginator.ts
@@ -0,0 +1,59 @@
+import { Paginator } from "@aws-sdk/types";
+
+import { AmplifyUIBuilder } from "../AmplifyUIBuilder";
+import { AmplifyUIBuilderClient } from "../AmplifyUIBuilderClient";
+import {
+ ListComponentsCommand,
+ ListComponentsCommandInput,
+ ListComponentsCommandOutput,
+} from "../commands/ListComponentsCommand";
+import { AmplifyUIBuilderPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @private
+ */
+const makePagedClientRequest = async (
+ client: AmplifyUIBuilderClient,
+ input: ListComponentsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListComponentsCommand(input), ...args);
+};
+/**
+ * @private
+ */
+const makePagedRequest = async (
+ client: AmplifyUIBuilder,
+ input: ListComponentsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.listComponents(input, ...args);
+};
+export async function* paginateListComponents(
+ config: AmplifyUIBuilderPaginationConfiguration,
+ input: ListComponentsCommandInput,
+ ...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: ListComponentsCommandOutput;
+ while (hasNext) {
+ input.nextToken = token;
+ input["maxResults"] = config.pageSize;
+ if (config.client instanceof AmplifyUIBuilder) {
+ page = await makePagedRequest(config.client, input, ...additionalArguments);
+ } else if (config.client instanceof AmplifyUIBuilderClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected AmplifyUIBuilder | AmplifyUIBuilderClient");
+ }
+ yield page;
+ token = page.nextToken;
+ hasNext = !!token;
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-amplifyuibuilder/src/pagination/ListThemesPaginator.ts b/clients/client-amplifyuibuilder/src/pagination/ListThemesPaginator.ts
new file mode 100644
index 000000000000..fcf5f159e017
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/pagination/ListThemesPaginator.ts
@@ -0,0 +1,55 @@
+import { Paginator } from "@aws-sdk/types";
+
+import { AmplifyUIBuilder } from "../AmplifyUIBuilder";
+import { AmplifyUIBuilderClient } from "../AmplifyUIBuilderClient";
+import { ListThemesCommand, ListThemesCommandInput, ListThemesCommandOutput } from "../commands/ListThemesCommand";
+import { AmplifyUIBuilderPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @private
+ */
+const makePagedClientRequest = async (
+ client: AmplifyUIBuilderClient,
+ input: ListThemesCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListThemesCommand(input), ...args);
+};
+/**
+ * @private
+ */
+const makePagedRequest = async (
+ client: AmplifyUIBuilder,
+ input: ListThemesCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.listThemes(input, ...args);
+};
+export async function* paginateListThemes(
+ config: AmplifyUIBuilderPaginationConfiguration,
+ input: ListThemesCommandInput,
+ ...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: ListThemesCommandOutput;
+ while (hasNext) {
+ input.nextToken = token;
+ input["maxResults"] = config.pageSize;
+ if (config.client instanceof AmplifyUIBuilder) {
+ page = await makePagedRequest(config.client, input, ...additionalArguments);
+ } else if (config.client instanceof AmplifyUIBuilderClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected AmplifyUIBuilder | AmplifyUIBuilderClient");
+ }
+ yield page;
+ token = page.nextToken;
+ hasNext = !!token;
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-amplifyuibuilder/src/pagination/index.ts b/clients/client-amplifyuibuilder/src/pagination/index.ts
new file mode 100644
index 000000000000..21bdcabbcc66
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/pagination/index.ts
@@ -0,0 +1,3 @@
+export * from "./Interfaces";
+export * from "./ListComponentsPaginator";
+export * from "./ListThemesPaginator";
diff --git a/clients/client-amplifyuibuilder/src/protocols/Aws_restJson1.ts b/clients/client-amplifyuibuilder/src/protocols/Aws_restJson1.ts
new file mode 100644
index 000000000000..f849722ea65f
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/protocols/Aws_restJson1.ts
@@ -0,0 +1,2819 @@
+import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http";
+import {
+ expectBoolean as __expectBoolean,
+ expectInt32 as __expectInt32,
+ expectNonNull as __expectNonNull,
+ expectObject as __expectObject,
+ expectString as __expectString,
+ extendedEncodeURIComponent as __extendedEncodeURIComponent,
+ parseRfc3339DateTime as __parseRfc3339DateTime,
+} from "@aws-sdk/smithy-client";
+import {
+ Endpoint as __Endpoint,
+ MetadataBearer as __MetadataBearer,
+ ResponseMetadata as __ResponseMetadata,
+ SerdeContext as __SerdeContext,
+ SmithyException as __SmithyException,
+} from "@aws-sdk/types";
+import { v4 as generateIdempotencyToken } from "uuid";
+
+import { CreateComponentCommandInput, CreateComponentCommandOutput } from "../commands/CreateComponentCommand";
+import { CreateThemeCommandInput, CreateThemeCommandOutput } from "../commands/CreateThemeCommand";
+import { DeleteComponentCommandInput, DeleteComponentCommandOutput } from "../commands/DeleteComponentCommand";
+import { DeleteThemeCommandInput, DeleteThemeCommandOutput } from "../commands/DeleteThemeCommand";
+import {
+ ExchangeCodeForTokenCommandInput,
+ ExchangeCodeForTokenCommandOutput,
+} from "../commands/ExchangeCodeForTokenCommand";
+import { ExportComponentsCommandInput, ExportComponentsCommandOutput } from "../commands/ExportComponentsCommand";
+import { ExportThemesCommandInput, ExportThemesCommandOutput } from "../commands/ExportThemesCommand";
+import { GetComponentCommandInput, GetComponentCommandOutput } from "../commands/GetComponentCommand";
+import { GetThemeCommandInput, GetThemeCommandOutput } from "../commands/GetThemeCommand";
+import { ListComponentsCommandInput, ListComponentsCommandOutput } from "../commands/ListComponentsCommand";
+import { ListThemesCommandInput, ListThemesCommandOutput } from "../commands/ListThemesCommand";
+import { RefreshTokenCommandInput, RefreshTokenCommandOutput } from "../commands/RefreshTokenCommand";
+import { UpdateComponentCommandInput, UpdateComponentCommandOutput } from "../commands/UpdateComponentCommand";
+import { UpdateThemeCommandInput, UpdateThemeCommandOutput } from "../commands/UpdateThemeCommand";
+import {
+ Component,
+ ComponentBindingPropertiesValue,
+ ComponentBindingPropertiesValueProperties,
+ ComponentChild,
+ ComponentConditionProperty,
+ ComponentDataConfiguration,
+ ComponentProperty,
+ ComponentPropertyBindingProperties,
+ ComponentSummary,
+ ComponentVariant,
+ CreateComponentData,
+ CreateThemeData,
+ ExchangeCodeForTokenRequestBody,
+ FormBindingElement,
+ InternalServerException,
+ InvalidParameterException,
+ Predicate,
+ RefreshTokenRequestBody,
+ ResourceConflictException,
+ ResourceNotFoundException,
+ ServiceQuotaExceededException,
+ SortProperty,
+ Theme,
+ ThemeSummary,
+ ThemeValue,
+ ThemeValues,
+ UpdateComponentData,
+ UpdateThemeData,
+} from "../models/models_0";
+
+export const serializeAws_restJson1CreateComponentCommand = async (
+ input: CreateComponentCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/components";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ const query: any = {
+ ...(input.clientToken !== undefined && { clientToken: input.clientToken }),
+ };
+ let body: any;
+ if (input.componentToCreate !== undefined) {
+ body = serializeAws_restJson1CreateComponentData(input.componentToCreate, context);
+ }
+ if (body === undefined) {
+ body = {};
+ }
+ body = JSON.stringify(body);
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
+export const serializeAws_restJson1CreateThemeCommand = async (
+ input: CreateThemeCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/themes";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ const query: any = {
+ ...(input.clientToken !== undefined && { clientToken: input.clientToken }),
+ };
+ let body: any;
+ if (input.themeToCreate !== undefined) {
+ body = serializeAws_restJson1CreateThemeData(input.themeToCreate, context);
+ }
+ if (body === undefined) {
+ body = {};
+ }
+ body = JSON.stringify(body);
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
+export const serializeAws_restJson1DeleteComponentCommand = async (
+ input: DeleteComponentCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/components/{id}";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ if (input.id !== undefined) {
+ const labelValue: string = input.id;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: id.");
+ }
+ resolvedPath = resolvedPath.replace("{id}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: id.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "DELETE",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+export const serializeAws_restJson1DeleteThemeCommand = async (
+ input: DeleteThemeCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/themes/{id}";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ if (input.id !== undefined) {
+ const labelValue: string = input.id;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: id.");
+ }
+ resolvedPath = resolvedPath.replace("{id}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: id.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "DELETE",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+export const serializeAws_restJson1ExchangeCodeForTokenCommand = async (
+ input: ExchangeCodeForTokenCommandInput,
+ 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 || ""}` + "/tokens/{provider}";
+ if (input.provider !== undefined) {
+ const labelValue: string = input.provider;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: provider.");
+ }
+ resolvedPath = resolvedPath.replace("{provider}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: provider.");
+ }
+ let body: any;
+ if (input.request !== undefined) {
+ body = serializeAws_restJson1ExchangeCodeForTokenRequestBody(input.request, context);
+ }
+ if (body === undefined) {
+ body = {};
+ }
+ body = JSON.stringify(body);
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+export const serializeAws_restJson1ExportComponentsCommand = async (
+ input: ExportComponentsCommandInput,
+ 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 || ""}` +
+ "/export/app/{appId}/environment/{environmentName}/components";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+export const serializeAws_restJson1ExportThemesCommand = async (
+ input: ExportThemesCommandInput,
+ 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 || ""}` +
+ "/export/app/{appId}/environment/{environmentName}/themes";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+export const serializeAws_restJson1GetComponentCommand = async (
+ input: GetComponentCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/components/{id}";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ if (input.id !== undefined) {
+ const labelValue: string = input.id;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: id.");
+ }
+ resolvedPath = resolvedPath.replace("{id}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: id.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+export const serializeAws_restJson1GetThemeCommand = async (
+ input: GetThemeCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/themes/{id}";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ if (input.id !== undefined) {
+ const labelValue: string = input.id;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: id.");
+ }
+ resolvedPath = resolvedPath.replace("{id}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: id.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+export const serializeAws_restJson1ListComponentsCommand = async (
+ input: ListComponentsCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/components";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ const query: any = {
+ ...(input.nextToken !== undefined && { nextToken: input.nextToken }),
+ ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }),
+ };
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
+export const serializeAws_restJson1ListThemesCommand = async (
+ input: ListThemesCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/themes";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ const query: any = {
+ ...(input.nextToken !== undefined && { nextToken: input.nextToken }),
+ ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }),
+ };
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
+export const serializeAws_restJson1RefreshTokenCommand = async (
+ input: RefreshTokenCommandInput,
+ 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 || ""}` + "/tokens/{provider}/refresh";
+ if (input.provider !== undefined) {
+ const labelValue: string = input.provider;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: provider.");
+ }
+ resolvedPath = resolvedPath.replace("{provider}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: provider.");
+ }
+ let body: any;
+ if (input.refreshTokenBody !== undefined) {
+ body = serializeAws_restJson1RefreshTokenRequestBody(input.refreshTokenBody, context);
+ }
+ if (body === undefined) {
+ body = {};
+ }
+ body = JSON.stringify(body);
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
+export const serializeAws_restJson1UpdateComponentCommand = async (
+ input: UpdateComponentCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/components/{id}";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ if (input.id !== undefined) {
+ const labelValue: string = input.id;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: id.");
+ }
+ resolvedPath = resolvedPath.replace("{id}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: id.");
+ }
+ const query: any = {
+ ...(input.clientToken !== undefined && { clientToken: input.clientToken }),
+ };
+ let body: any;
+ if (input.updatedComponent !== undefined) {
+ body = serializeAws_restJson1UpdateComponentData(input.updatedComponent, context);
+ }
+ if (body === undefined) {
+ body = {};
+ }
+ body = JSON.stringify(body);
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "PATCH",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
+export const serializeAws_restJson1UpdateThemeCommand = async (
+ input: UpdateThemeCommandInput,
+ 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 || ""}` +
+ "/app/{appId}/environment/{environmentName}/themes/{id}";
+ if (input.appId !== undefined) {
+ const labelValue: string = input.appId;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: appId.");
+ }
+ resolvedPath = resolvedPath.replace("{appId}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: appId.");
+ }
+ if (input.environmentName !== undefined) {
+ const labelValue: string = input.environmentName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: environmentName.");
+ }
+ resolvedPath = resolvedPath.replace("{environmentName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: environmentName.");
+ }
+ if (input.id !== undefined) {
+ const labelValue: string = input.id;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: id.");
+ }
+ resolvedPath = resolvedPath.replace("{id}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: id.");
+ }
+ const query: any = {
+ ...(input.clientToken !== undefined && { clientToken: input.clientToken }),
+ };
+ let body: any;
+ if (input.updatedTheme !== undefined) {
+ body = serializeAws_restJson1UpdateThemeData(input.updatedTheme, context);
+ }
+ if (body === undefined) {
+ body = {};
+ }
+ body = JSON.stringify(body);
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "PATCH",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
+export const deserializeAws_restJson1CreateComponentCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1CreateComponentCommandError(output, context);
+ }
+ const contents: CreateComponentCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ entity: undefined,
+ };
+ const data: { [key: string]: any } | undefined = __expectObject(await parseBody(output.body, context));
+ contents.entity = deserializeAws_restJson1Component(data, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1CreateComponentCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceConflictException":
+ case "com.amazonaws.amplifyuibuilder#ResourceConflictException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ServiceQuotaExceededException":
+ case "com.amazonaws.amplifyuibuilder#ServiceQuotaExceededException":
+ response = {
+ ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1CreateThemeCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1CreateThemeCommandError(output, context);
+ }
+ const contents: CreateThemeCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ entity: undefined,
+ };
+ const data: { [key: string]: any } | undefined = __expectObject(await parseBody(output.body, context));
+ contents.entity = deserializeAws_restJson1Theme(data, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1CreateThemeCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceConflictException":
+ case "com.amazonaws.amplifyuibuilder#ResourceConflictException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ServiceQuotaExceededException":
+ case "com.amazonaws.amplifyuibuilder#ServiceQuotaExceededException":
+ response = {
+ ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1DeleteComponentCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1DeleteComponentCommandError(output, context);
+ }
+ const contents: DeleteComponentCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ };
+ await collectBody(output.body, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1DeleteComponentCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.amplifyuibuilder#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1DeleteThemeCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1DeleteThemeCommandError(output, context);
+ }
+ const contents: DeleteThemeCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ };
+ await collectBody(output.body, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1DeleteThemeCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.amplifyuibuilder#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1ExchangeCodeForTokenCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ExchangeCodeForTokenCommandError(output, context);
+ }
+ const contents: ExchangeCodeForTokenCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ accessToken: undefined,
+ expiresIn: undefined,
+ refreshToken: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.accessToken !== undefined && data.accessToken !== null) {
+ contents.accessToken = __expectString(data.accessToken);
+ }
+ if (data.expiresIn !== undefined && data.expiresIn !== null) {
+ contents.expiresIn = __expectInt32(data.expiresIn);
+ }
+ if (data.refreshToken !== undefined && data.refreshToken !== null) {
+ contents.refreshToken = __expectString(data.refreshToken);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ExchangeCodeForTokenCommandError = async (
+ 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 "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1ExportComponentsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ExportComponentsCommandError(output, context);
+ }
+ const contents: ExportComponentsCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ entities: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.entities !== undefined && data.entities !== null) {
+ contents.entities = deserializeAws_restJson1ComponentList(data.entities, context);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ExportComponentsCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1ExportThemesCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ExportThemesCommandError(output, context);
+ }
+ const contents: ExportThemesCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ entities: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.entities !== undefined && data.entities !== null) {
+ contents.entities = deserializeAws_restJson1ThemeList(data.entities, context);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ExportThemesCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1GetComponentCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1GetComponentCommandError(output, context);
+ }
+ const contents: GetComponentCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ component: undefined,
+ };
+ const data: { [key: string]: any } | undefined = __expectObject(await parseBody(output.body, context));
+ contents.component = deserializeAws_restJson1Component(data, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1GetComponentCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.amplifyuibuilder#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1GetThemeCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1GetThemeCommandError(output, context);
+ }
+ const contents: GetThemeCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ theme: undefined,
+ };
+ const data: { [key: string]: any } | undefined = __expectObject(await parseBody(output.body, context));
+ contents.theme = deserializeAws_restJson1Theme(data, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1GetThemeCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.amplifyuibuilder#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1ListComponentsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ListComponentsCommandError(output, context);
+ }
+ const contents: ListComponentsCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ entities: undefined,
+ nextToken: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.entities !== undefined && data.entities !== null) {
+ contents.entities = deserializeAws_restJson1ComponentSummaryList(data.entities, context);
+ }
+ if (data.nextToken !== undefined && data.nextToken !== null) {
+ contents.nextToken = __expectString(data.nextToken);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ListComponentsCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1ListThemesCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ListThemesCommandError(output, context);
+ }
+ const contents: ListThemesCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ entities: undefined,
+ nextToken: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.entities !== undefined && data.entities !== null) {
+ contents.entities = deserializeAws_restJson1ThemeSummaryList(data.entities, context);
+ }
+ if (data.nextToken !== undefined && data.nextToken !== null) {
+ contents.nextToken = __expectString(data.nextToken);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ListThemesCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1RefreshTokenCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1RefreshTokenCommandError(output, context);
+ }
+ const contents: RefreshTokenCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ accessToken: undefined,
+ expiresIn: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.accessToken !== undefined && data.accessToken !== null) {
+ contents.accessToken = __expectString(data.accessToken);
+ }
+ if (data.expiresIn !== undefined && data.expiresIn !== null) {
+ contents.expiresIn = __expectInt32(data.expiresIn);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1RefreshTokenCommandError = async (
+ 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 "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1UpdateComponentCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1UpdateComponentCommandError(output, context);
+ }
+ const contents: UpdateComponentCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ entity: undefined,
+ };
+ const data: { [key: string]: any } | undefined = __expectObject(await parseBody(output.body, context));
+ contents.entity = deserializeAws_restJson1Component(data, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1UpdateComponentCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceConflictException":
+ case "com.amazonaws.amplifyuibuilder#ResourceConflictException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1UpdateThemeCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1UpdateThemeCommandError(output, context);
+ }
+ const contents: UpdateThemeCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ entity: undefined,
+ };
+ const data: { [key: string]: any } | undefined = __expectObject(await parseBody(output.body, context));
+ contents.entity = deserializeAws_restJson1Theme(data, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1UpdateThemeCommandError = async (
+ 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.amplifyuibuilder#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidParameterException":
+ case "com.amazonaws.amplifyuibuilder#InvalidParameterException":
+ response = {
+ ...(await deserializeAws_restJson1InvalidParameterExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceConflictException":
+ case "com.amazonaws.amplifyuibuilder#ResourceConflictException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceConflictExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+const deserializeAws_restJson1InternalServerExceptionResponse = async (
+ parsedOutput: any,
+ context: __SerdeContext
+): Promise => {
+ const contents: InternalServerException = {
+ name: "InternalServerException",
+ $fault: "server",
+ $metadata: deserializeMetadata(parsedOutput),
+ message: undefined,
+ };
+ const data: any = parsedOutput.body;
+ if (data.message !== undefined && data.message !== null) {
+ contents.message = __expectString(data.message);
+ }
+ return contents;
+};
+
+const deserializeAws_restJson1InvalidParameterExceptionResponse = async (
+ parsedOutput: any,
+ context: __SerdeContext
+): Promise => {
+ const contents: InvalidParameterException = {
+ name: "InvalidParameterException",
+ $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_restJson1ResourceConflictExceptionResponse = async (
+ parsedOutput: any,
+ context: __SerdeContext
+): Promise => {
+ const contents: ResourceConflictException = {
+ name: "ResourceConflictException",
+ $fault: "client",
+ $metadata: deserializeMetadata(parsedOutput),
+ message: undefined,
+ };
+ const data: any = parsedOutput.body;
+ if (data.message !== undefined && data.message !== null) {
+ contents.message = __expectString(data.message);
+ }
+ return contents;
+};
+
+const deserializeAws_restJson1ResourceNotFoundExceptionResponse = async (
+ parsedOutput: any,
+ context: __SerdeContext
+): Promise => {
+ const contents: ResourceNotFoundException = {
+ name: "ResourceNotFoundException",
+ $fault: "client",
+ $metadata: deserializeMetadata(parsedOutput),
+ message: undefined,
+ };
+ const data: any = parsedOutput.body;
+ if (data.message !== undefined && data.message !== null) {
+ contents.message = __expectString(data.message);
+ }
+ return contents;
+};
+
+const deserializeAws_restJson1ServiceQuotaExceededExceptionResponse = async (
+ parsedOutput: any,
+ context: __SerdeContext
+): Promise => {
+ const contents: ServiceQuotaExceededException = {
+ name: "ServiceQuotaExceededException",
+ $fault: "client",
+ $metadata: deserializeMetadata(parsedOutput),
+ message: undefined,
+ };
+ const data: any = parsedOutput.body;
+ if (data.message !== undefined && data.message !== null) {
+ contents.message = __expectString(data.message);
+ }
+ return contents;
+};
+
+const serializeAws_restJson1ComponentBindingProperties = (
+ input: { [key: string]: ComponentBindingPropertiesValue },
+ context: __SerdeContext
+): any => {
+ return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: serializeAws_restJson1ComponentBindingPropertiesValue(value, context),
+ };
+ }, {});
+};
+
+const serializeAws_restJson1ComponentBindingPropertiesValue = (
+ input: ComponentBindingPropertiesValue,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.bindingProperties !== undefined &&
+ input.bindingProperties !== null && {
+ bindingProperties: serializeAws_restJson1ComponentBindingPropertiesValueProperties(
+ input.bindingProperties,
+ context
+ ),
+ }),
+ ...(input.defaultValue !== undefined && input.defaultValue !== null && { defaultValue: input.defaultValue }),
+ ...(input.type !== undefined && input.type !== null && { type: input.type }),
+ };
+};
+
+const serializeAws_restJson1ComponentBindingPropertiesValueProperties = (
+ input: ComponentBindingPropertiesValueProperties,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.bucket !== undefined && input.bucket !== null && { bucket: input.bucket }),
+ ...(input.defaultValue !== undefined && input.defaultValue !== null && { defaultValue: input.defaultValue }),
+ ...(input.field !== undefined && input.field !== null && { field: input.field }),
+ ...(input.key !== undefined && input.key !== null && { key: input.key }),
+ ...(input.model !== undefined && input.model !== null && { model: input.model }),
+ ...(input.predicates !== undefined &&
+ input.predicates !== null && { predicates: serializeAws_restJson1PredicateList(input.predicates, context) }),
+ ...(input.userAttribute !== undefined && input.userAttribute !== null && { userAttribute: input.userAttribute }),
+ };
+};
+
+const serializeAws_restJson1ComponentChild = (input: ComponentChild, context: __SerdeContext): any => {
+ return {
+ ...(input.children !== undefined &&
+ input.children !== null && { children: serializeAws_restJson1ComponentChildList(input.children, context) }),
+ ...(input.componentType !== undefined && input.componentType !== null && { componentType: input.componentType }),
+ ...(input.name !== undefined && input.name !== null && { name: input.name }),
+ ...(input.properties !== undefined &&
+ input.properties !== null && {
+ properties: serializeAws_restJson1ComponentProperties(input.properties, context),
+ }),
+ };
+};
+
+const serializeAws_restJson1ComponentChildList = (input: ComponentChild[], context: __SerdeContext): any => {
+ return input
+ .filter((e: any) => e != null)
+ .map((entry) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return serializeAws_restJson1ComponentChild(entry, context);
+ });
+};
+
+const serializeAws_restJson1ComponentCollectionProperties = (
+ input: { [key: string]: ComponentDataConfiguration },
+ context: __SerdeContext
+): any => {
+ return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: serializeAws_restJson1ComponentDataConfiguration(value, context),
+ };
+ }, {});
+};
+
+const serializeAws_restJson1ComponentConditionProperty = (
+ input: ComponentConditionProperty,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.else !== undefined &&
+ input.else !== null && { else: serializeAws_restJson1ComponentProperty(input.else, context) }),
+ ...(input.field !== undefined && input.field !== null && { field: input.field }),
+ ...(input.operand !== undefined && input.operand !== null && { operand: input.operand }),
+ ...(input.operator !== undefined && input.operator !== null && { operator: input.operator }),
+ ...(input.property !== undefined && input.property !== null && { property: input.property }),
+ ...(input.then !== undefined &&
+ input.then !== null && { then: serializeAws_restJson1ComponentProperty(input.then, context) }),
+ };
+};
+
+const serializeAws_restJson1ComponentDataConfiguration = (
+ input: ComponentDataConfiguration,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.identifiers !== undefined &&
+ input.identifiers !== null && { identifiers: serializeAws_restJson1IdentifierList(input.identifiers, context) }),
+ ...(input.model !== undefined && input.model !== null && { model: input.model }),
+ ...(input.predicate !== undefined &&
+ input.predicate !== null && { predicate: serializeAws_restJson1Predicate(input.predicate, context) }),
+ ...(input.sort !== undefined &&
+ input.sort !== null && { sort: serializeAws_restJson1SortPropertyList(input.sort, context) }),
+ };
+};
+
+const serializeAws_restJson1ComponentOverrides = (
+ input: { [key: string]: { [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]: serializeAws_restJson1ComponentOverridesValue(value, context),
+ };
+ }, {});
+};
+
+const serializeAws_restJson1ComponentOverridesValue = (
+ 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_restJson1ComponentProperties = (
+ input: { [key: string]: ComponentProperty },
+ context: __SerdeContext
+): any => {
+ return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: serializeAws_restJson1ComponentProperty(value, context),
+ };
+ }, {});
+};
+
+const serializeAws_restJson1ComponentProperty = (input: ComponentProperty, context: __SerdeContext): any => {
+ return {
+ ...(input.bindingProperties !== undefined &&
+ input.bindingProperties !== null && {
+ bindingProperties: serializeAws_restJson1ComponentPropertyBindingProperties(input.bindingProperties, context),
+ }),
+ ...(input.bindings !== undefined &&
+ input.bindings !== null && { bindings: serializeAws_restJson1FormBindings(input.bindings, context) }),
+ ...(input.collectionBindingProperties !== undefined &&
+ input.collectionBindingProperties !== null && {
+ collectionBindingProperties: serializeAws_restJson1ComponentPropertyBindingProperties(
+ input.collectionBindingProperties,
+ context
+ ),
+ }),
+ ...(input.concat !== undefined &&
+ input.concat !== null && { concat: serializeAws_restJson1ComponentPropertyList(input.concat, context) }),
+ ...(input.condition !== undefined &&
+ input.condition !== null && {
+ condition: serializeAws_restJson1ComponentConditionProperty(input.condition, context),
+ }),
+ ...(input.configured !== undefined && input.configured !== null && { configured: input.configured }),
+ ...(input.defaultValue !== undefined && input.defaultValue !== null && { defaultValue: input.defaultValue }),
+ ...(input.event !== undefined && input.event !== null && { event: input.event }),
+ ...(input.importedValue !== undefined && input.importedValue !== null && { importedValue: input.importedValue }),
+ ...(input.model !== undefined && input.model !== null && { model: input.model }),
+ ...(input.type !== undefined && input.type !== null && { type: input.type }),
+ ...(input.userAttribute !== undefined && input.userAttribute !== null && { userAttribute: input.userAttribute }),
+ ...(input.value !== undefined && input.value !== null && { value: input.value }),
+ };
+};
+
+const serializeAws_restJson1ComponentPropertyBindingProperties = (
+ input: ComponentPropertyBindingProperties,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.field !== undefined && input.field !== null && { field: input.field }),
+ ...(input.property !== undefined && input.property !== null && { property: input.property }),
+ };
+};
+
+const serializeAws_restJson1ComponentPropertyList = (input: ComponentProperty[], context: __SerdeContext): any => {
+ return input
+ .filter((e: any) => e != null)
+ .map((entry) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return serializeAws_restJson1ComponentProperty(entry, context);
+ });
+};
+
+const serializeAws_restJson1ComponentVariant = (input: ComponentVariant, context: __SerdeContext): any => {
+ return {
+ ...(input.overrides !== undefined &&
+ input.overrides !== null && { overrides: serializeAws_restJson1ComponentOverrides(input.overrides, context) }),
+ ...(input.variantValues !== undefined &&
+ input.variantValues !== null && {
+ variantValues: serializeAws_restJson1ComponentVariantValues(input.variantValues, context),
+ }),
+ };
+};
+
+const serializeAws_restJson1ComponentVariants = (input: ComponentVariant[], context: __SerdeContext): any => {
+ return input
+ .filter((e: any) => e != null)
+ .map((entry) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return serializeAws_restJson1ComponentVariant(entry, context);
+ });
+};
+
+const serializeAws_restJson1ComponentVariantValues = (
+ 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_restJson1CreateComponentData = (input: CreateComponentData, context: __SerdeContext): any => {
+ return {
+ ...(input.bindingProperties !== undefined &&
+ input.bindingProperties !== null && {
+ bindingProperties: serializeAws_restJson1ComponentBindingProperties(input.bindingProperties, context),
+ }),
+ ...(input.children !== undefined &&
+ input.children !== null && { children: serializeAws_restJson1ComponentChildList(input.children, context) }),
+ ...(input.collectionProperties !== undefined &&
+ input.collectionProperties !== null && {
+ collectionProperties: serializeAws_restJson1ComponentCollectionProperties(input.collectionProperties, context),
+ }),
+ ...(input.componentType !== undefined && input.componentType !== null && { componentType: input.componentType }),
+ ...(input.name !== undefined && input.name !== null && { name: input.name }),
+ ...(input.overrides !== undefined &&
+ input.overrides !== null && { overrides: serializeAws_restJson1ComponentOverrides(input.overrides, context) }),
+ ...(input.properties !== undefined &&
+ input.properties !== null && {
+ properties: serializeAws_restJson1ComponentProperties(input.properties, context),
+ }),
+ ...(input.sourceId !== undefined && input.sourceId !== null && { sourceId: input.sourceId }),
+ ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_restJson1Tags(input.tags, context) }),
+ ...(input.variants !== undefined &&
+ input.variants !== null && { variants: serializeAws_restJson1ComponentVariants(input.variants, context) }),
+ };
+};
+
+const serializeAws_restJson1CreateThemeData = (input: CreateThemeData, context: __SerdeContext): any => {
+ return {
+ ...(input.name !== undefined && input.name !== null && { name: input.name }),
+ ...(input.overrides !== undefined &&
+ input.overrides !== null && { overrides: serializeAws_restJson1ThemeValuesList(input.overrides, context) }),
+ ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_restJson1Tags(input.tags, context) }),
+ ...(input.values !== undefined &&
+ input.values !== null && { values: serializeAws_restJson1ThemeValuesList(input.values, context) }),
+ };
+};
+
+const serializeAws_restJson1ExchangeCodeForTokenRequestBody = (
+ input: ExchangeCodeForTokenRequestBody,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.code !== undefined && input.code !== null && { code: input.code }),
+ ...(input.redirectUri !== undefined && input.redirectUri !== null && { redirectUri: input.redirectUri }),
+ };
+};
+
+const serializeAws_restJson1FormBindingElement = (input: FormBindingElement, context: __SerdeContext): any => {
+ return {
+ ...(input.element !== undefined && input.element !== null && { element: input.element }),
+ ...(input.property !== undefined && input.property !== null && { property: input.property }),
+ };
+};
+
+const serializeAws_restJson1FormBindings = (
+ input: { [key: string]: FormBindingElement },
+ context: __SerdeContext
+): any => {
+ return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: serializeAws_restJson1FormBindingElement(value, context),
+ };
+ }, {});
+};
+
+const serializeAws_restJson1IdentifierList = (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_restJson1Predicate = (input: Predicate, context: __SerdeContext): any => {
+ return {
+ ...(input.and !== undefined &&
+ input.and !== null && { and: serializeAws_restJson1PredicateList(input.and, context) }),
+ ...(input.field !== undefined && input.field !== null && { field: input.field }),
+ ...(input.operand !== undefined && input.operand !== null && { operand: input.operand }),
+ ...(input.operator !== undefined && input.operator !== null && { operator: input.operator }),
+ ...(input.or !== undefined && input.or !== null && { or: serializeAws_restJson1PredicateList(input.or, context) }),
+ };
+};
+
+const serializeAws_restJson1PredicateList = (input: Predicate[], context: __SerdeContext): any => {
+ return input
+ .filter((e: any) => e != null)
+ .map((entry) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return serializeAws_restJson1Predicate(entry, context);
+ });
+};
+
+const serializeAws_restJson1RefreshTokenRequestBody = (
+ input: RefreshTokenRequestBody,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.token !== undefined && input.token !== null && { token: input.token }),
+ };
+};
+
+const serializeAws_restJson1SortProperty = (input: SortProperty, context: __SerdeContext): any => {
+ return {
+ ...(input.direction !== undefined && input.direction !== null && { direction: input.direction }),
+ ...(input.field !== undefined && input.field !== null && { field: input.field }),
+ };
+};
+
+const serializeAws_restJson1SortPropertyList = (input: SortProperty[], context: __SerdeContext): any => {
+ return input
+ .filter((e: any) => e != null)
+ .map((entry) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return serializeAws_restJson1SortProperty(entry, context);
+ });
+};
+
+const serializeAws_restJson1Tags = (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_restJson1ThemeValue = (input: ThemeValue, context: __SerdeContext): any => {
+ return {
+ ...(input.children !== undefined &&
+ input.children !== null && { children: serializeAws_restJson1ThemeValuesList(input.children, context) }),
+ ...(input.value !== undefined && input.value !== null && { value: input.value }),
+ };
+};
+
+const serializeAws_restJson1ThemeValues = (input: ThemeValues, context: __SerdeContext): any => {
+ return {
+ ...(input.key !== undefined && input.key !== null && { key: input.key }),
+ ...(input.value !== undefined &&
+ input.value !== null && { value: serializeAws_restJson1ThemeValue(input.value, context) }),
+ };
+};
+
+const serializeAws_restJson1ThemeValuesList = (input: ThemeValues[], context: __SerdeContext): any => {
+ return input
+ .filter((e: any) => e != null)
+ .map((entry) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return serializeAws_restJson1ThemeValues(entry, context);
+ });
+};
+
+const serializeAws_restJson1UpdateComponentData = (input: UpdateComponentData, context: __SerdeContext): any => {
+ return {
+ ...(input.bindingProperties !== undefined &&
+ input.bindingProperties !== null && {
+ bindingProperties: serializeAws_restJson1ComponentBindingProperties(input.bindingProperties, context),
+ }),
+ ...(input.children !== undefined &&
+ input.children !== null && { children: serializeAws_restJson1ComponentChildList(input.children, context) }),
+ ...(input.collectionProperties !== undefined &&
+ input.collectionProperties !== null && {
+ collectionProperties: serializeAws_restJson1ComponentCollectionProperties(input.collectionProperties, context),
+ }),
+ ...(input.componentType !== undefined && input.componentType !== null && { componentType: input.componentType }),
+ ...(input.id !== undefined && input.id !== null && { id: input.id }),
+ ...(input.name !== undefined && input.name !== null && { name: input.name }),
+ ...(input.overrides !== undefined &&
+ input.overrides !== null && { overrides: serializeAws_restJson1ComponentOverrides(input.overrides, context) }),
+ ...(input.properties !== undefined &&
+ input.properties !== null && {
+ properties: serializeAws_restJson1ComponentProperties(input.properties, context),
+ }),
+ ...(input.sourceId !== undefined && input.sourceId !== null && { sourceId: input.sourceId }),
+ ...(input.variants !== undefined &&
+ input.variants !== null && { variants: serializeAws_restJson1ComponentVariants(input.variants, context) }),
+ };
+};
+
+const serializeAws_restJson1UpdateThemeData = (input: UpdateThemeData, context: __SerdeContext): any => {
+ return {
+ ...(input.id !== undefined && input.id !== null && { id: input.id }),
+ ...(input.name !== undefined && input.name !== null && { name: input.name }),
+ ...(input.overrides !== undefined &&
+ input.overrides !== null && { overrides: serializeAws_restJson1ThemeValuesList(input.overrides, context) }),
+ ...(input.values !== undefined &&
+ input.values !== null && { values: serializeAws_restJson1ThemeValuesList(input.values, context) }),
+ };
+};
+
+const deserializeAws_restJson1Component = (output: any, context: __SerdeContext): Component => {
+ return {
+ appId: __expectString(output.appId),
+ bindingProperties:
+ output.bindingProperties !== undefined && output.bindingProperties !== null
+ ? deserializeAws_restJson1ComponentBindingProperties(output.bindingProperties, context)
+ : undefined,
+ children:
+ output.children !== undefined && output.children !== null
+ ? deserializeAws_restJson1ComponentChildList(output.children, context)
+ : undefined,
+ collectionProperties:
+ output.collectionProperties !== undefined && output.collectionProperties !== null
+ ? deserializeAws_restJson1ComponentCollectionProperties(output.collectionProperties, context)
+ : undefined,
+ componentType: __expectString(output.componentType),
+ createdAt:
+ output.createdAt !== undefined && output.createdAt !== null
+ ? __expectNonNull(__parseRfc3339DateTime(output.createdAt))
+ : undefined,
+ environmentName: __expectString(output.environmentName),
+ id: __expectString(output.id),
+ modifiedAt:
+ output.modifiedAt !== undefined && output.modifiedAt !== null
+ ? __expectNonNull(__parseRfc3339DateTime(output.modifiedAt))
+ : undefined,
+ name: __expectString(output.name),
+ overrides:
+ output.overrides !== undefined && output.overrides !== null
+ ? deserializeAws_restJson1ComponentOverrides(output.overrides, context)
+ : undefined,
+ properties:
+ output.properties !== undefined && output.properties !== null
+ ? deserializeAws_restJson1ComponentProperties(output.properties, context)
+ : undefined,
+ sourceId: __expectString(output.sourceId),
+ tags:
+ output.tags !== undefined && output.tags !== null
+ ? deserializeAws_restJson1Tags(output.tags, context)
+ : undefined,
+ variants:
+ output.variants !== undefined && output.variants !== null
+ ? deserializeAws_restJson1ComponentVariants(output.variants, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentBindingProperties = (
+ output: any,
+ context: __SerdeContext
+): { [key: string]: ComponentBindingPropertiesValue } => {
+ return Object.entries(output).reduce(
+ (acc: { [key: string]: ComponentBindingPropertiesValue }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: deserializeAws_restJson1ComponentBindingPropertiesValue(value, context),
+ };
+ },
+ {}
+ );
+};
+
+const deserializeAws_restJson1ComponentBindingPropertiesValue = (
+ output: any,
+ context: __SerdeContext
+): ComponentBindingPropertiesValue => {
+ return {
+ bindingProperties:
+ output.bindingProperties !== undefined && output.bindingProperties !== null
+ ? deserializeAws_restJson1ComponentBindingPropertiesValueProperties(output.bindingProperties, context)
+ : undefined,
+ defaultValue: __expectString(output.defaultValue),
+ type: __expectString(output.type),
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentBindingPropertiesValueProperties = (
+ output: any,
+ context: __SerdeContext
+): ComponentBindingPropertiesValueProperties => {
+ return {
+ bucket: __expectString(output.bucket),
+ defaultValue: __expectString(output.defaultValue),
+ field: __expectString(output.field),
+ key: __expectString(output.key),
+ model: __expectString(output.model),
+ predicates:
+ output.predicates !== undefined && output.predicates !== null
+ ? deserializeAws_restJson1PredicateList(output.predicates, context)
+ : undefined,
+ userAttribute: __expectString(output.userAttribute),
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentChild = (output: any, context: __SerdeContext): ComponentChild => {
+ return {
+ children:
+ output.children !== undefined && output.children !== null
+ ? deserializeAws_restJson1ComponentChildList(output.children, context)
+ : undefined,
+ componentType: __expectString(output.componentType),
+ name: __expectString(output.name),
+ properties:
+ output.properties !== undefined && output.properties !== null
+ ? deserializeAws_restJson1ComponentProperties(output.properties, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentChildList = (output: any, context: __SerdeContext): ComponentChild[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1ComponentChild(entry, context);
+ });
+};
+
+const deserializeAws_restJson1ComponentCollectionProperties = (
+ output: any,
+ context: __SerdeContext
+): { [key: string]: ComponentDataConfiguration } => {
+ return Object.entries(output).reduce(
+ (acc: { [key: string]: ComponentDataConfiguration }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: deserializeAws_restJson1ComponentDataConfiguration(value, context),
+ };
+ },
+ {}
+ );
+};
+
+const deserializeAws_restJson1ComponentConditionProperty = (
+ output: any,
+ context: __SerdeContext
+): ComponentConditionProperty => {
+ return {
+ else:
+ output.else !== undefined && output.else !== null
+ ? deserializeAws_restJson1ComponentProperty(output.else, context)
+ : undefined,
+ field: __expectString(output.field),
+ operand: __expectString(output.operand),
+ operator: __expectString(output.operator),
+ property: __expectString(output.property),
+ then:
+ output.then !== undefined && output.then !== null
+ ? deserializeAws_restJson1ComponentProperty(output.then, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentDataConfiguration = (
+ output: any,
+ context: __SerdeContext
+): ComponentDataConfiguration => {
+ return {
+ identifiers:
+ output.identifiers !== undefined && output.identifiers !== null
+ ? deserializeAws_restJson1IdentifierList(output.identifiers, context)
+ : undefined,
+ model: __expectString(output.model),
+ predicate:
+ output.predicate !== undefined && output.predicate !== null
+ ? deserializeAws_restJson1Predicate(output.predicate, context)
+ : undefined,
+ sort:
+ output.sort !== undefined && output.sort !== null
+ ? deserializeAws_restJson1SortPropertyList(output.sort, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentList = (output: any, context: __SerdeContext): Component[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1Component(entry, context);
+ });
+};
+
+const deserializeAws_restJson1ComponentOverrides = (
+ output: any,
+ context: __SerdeContext
+): { [key: string]: { [key: string]: string } } => {
+ return Object.entries(output).reduce(
+ (acc: { [key: string]: { [key: string]: string } }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: deserializeAws_restJson1ComponentOverridesValue(value, context),
+ };
+ },
+ {}
+ );
+};
+
+const deserializeAws_restJson1ComponentOverridesValue = (
+ 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_restJson1ComponentProperties = (
+ output: any,
+ context: __SerdeContext
+): { [key: string]: ComponentProperty } => {
+ return Object.entries(output).reduce((acc: { [key: string]: ComponentProperty }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: deserializeAws_restJson1ComponentProperty(value, context),
+ };
+ }, {});
+};
+
+const deserializeAws_restJson1ComponentProperty = (output: any, context: __SerdeContext): ComponentProperty => {
+ return {
+ bindingProperties:
+ output.bindingProperties !== undefined && output.bindingProperties !== null
+ ? deserializeAws_restJson1ComponentPropertyBindingProperties(output.bindingProperties, context)
+ : undefined,
+ bindings:
+ output.bindings !== undefined && output.bindings !== null
+ ? deserializeAws_restJson1FormBindings(output.bindings, context)
+ : undefined,
+ collectionBindingProperties:
+ output.collectionBindingProperties !== undefined && output.collectionBindingProperties !== null
+ ? deserializeAws_restJson1ComponentPropertyBindingProperties(output.collectionBindingProperties, context)
+ : undefined,
+ concat:
+ output.concat !== undefined && output.concat !== null
+ ? deserializeAws_restJson1ComponentPropertyList(output.concat, context)
+ : undefined,
+ condition:
+ output.condition !== undefined && output.condition !== null
+ ? deserializeAws_restJson1ComponentConditionProperty(output.condition, context)
+ : undefined,
+ configured: __expectBoolean(output.configured),
+ defaultValue: __expectString(output.defaultValue),
+ event: __expectString(output.event),
+ importedValue: __expectString(output.importedValue),
+ model: __expectString(output.model),
+ type: __expectString(output.type),
+ userAttribute: __expectString(output.userAttribute),
+ value: __expectString(output.value),
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentPropertyBindingProperties = (
+ output: any,
+ context: __SerdeContext
+): ComponentPropertyBindingProperties => {
+ return {
+ field: __expectString(output.field),
+ property: __expectString(output.property),
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentPropertyList = (output: any, context: __SerdeContext): ComponentProperty[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1ComponentProperty(entry, context);
+ });
+};
+
+const deserializeAws_restJson1ComponentSummary = (output: any, context: __SerdeContext): ComponentSummary => {
+ return {
+ appId: __expectString(output.appId),
+ componentType: __expectString(output.componentType),
+ environmentName: __expectString(output.environmentName),
+ id: __expectString(output.id),
+ name: __expectString(output.name),
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentSummaryList = (output: any, context: __SerdeContext): ComponentSummary[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1ComponentSummary(entry, context);
+ });
+};
+
+const deserializeAws_restJson1ComponentVariant = (output: any, context: __SerdeContext): ComponentVariant => {
+ return {
+ overrides:
+ output.overrides !== undefined && output.overrides !== null
+ ? deserializeAws_restJson1ComponentOverrides(output.overrides, context)
+ : undefined,
+ variantValues:
+ output.variantValues !== undefined && output.variantValues !== null
+ ? deserializeAws_restJson1ComponentVariantValues(output.variantValues, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1ComponentVariants = (output: any, context: __SerdeContext): ComponentVariant[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1ComponentVariant(entry, context);
+ });
+};
+
+const deserializeAws_restJson1ComponentVariantValues = (
+ 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_restJson1FormBindingElement = (output: any, context: __SerdeContext): FormBindingElement => {
+ return {
+ element: __expectString(output.element),
+ property: __expectString(output.property),
+ } as any;
+};
+
+const deserializeAws_restJson1FormBindings = (
+ output: any,
+ context: __SerdeContext
+): { [key: string]: FormBindingElement } => {
+ return Object.entries(output).reduce((acc: { [key: string]: FormBindingElement }, [key, value]: [string, any]) => {
+ if (value === null) {
+ return acc;
+ }
+ return {
+ ...acc,
+ [key]: deserializeAws_restJson1FormBindingElement(value, context),
+ };
+ }, {});
+};
+
+const deserializeAws_restJson1IdentifierList = (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_restJson1Predicate = (output: any, context: __SerdeContext): Predicate => {
+ return {
+ and:
+ output.and !== undefined && output.and !== null
+ ? deserializeAws_restJson1PredicateList(output.and, context)
+ : undefined,
+ field: __expectString(output.field),
+ operand: __expectString(output.operand),
+ operator: __expectString(output.operator),
+ or:
+ output.or !== undefined && output.or !== null
+ ? deserializeAws_restJson1PredicateList(output.or, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1PredicateList = (output: any, context: __SerdeContext): Predicate[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1Predicate(entry, context);
+ });
+};
+
+const deserializeAws_restJson1SortProperty = (output: any, context: __SerdeContext): SortProperty => {
+ return {
+ direction: __expectString(output.direction),
+ field: __expectString(output.field),
+ } as any;
+};
+
+const deserializeAws_restJson1SortPropertyList = (output: any, context: __SerdeContext): SortProperty[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1SortProperty(entry, context);
+ });
+};
+
+const deserializeAws_restJson1Tags = (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_restJson1Theme = (output: any, context: __SerdeContext): Theme => {
+ return {
+ appId: __expectString(output.appId),
+ createdAt:
+ output.createdAt !== undefined && output.createdAt !== null
+ ? __expectNonNull(__parseRfc3339DateTime(output.createdAt))
+ : undefined,
+ environmentName: __expectString(output.environmentName),
+ id: __expectString(output.id),
+ modifiedAt:
+ output.modifiedAt !== undefined && output.modifiedAt !== null
+ ? __expectNonNull(__parseRfc3339DateTime(output.modifiedAt))
+ : undefined,
+ name: __expectString(output.name),
+ overrides:
+ output.overrides !== undefined && output.overrides !== null
+ ? deserializeAws_restJson1ThemeValuesList(output.overrides, context)
+ : undefined,
+ tags:
+ output.tags !== undefined && output.tags !== null
+ ? deserializeAws_restJson1Tags(output.tags, context)
+ : undefined,
+ values:
+ output.values !== undefined && output.values !== null
+ ? deserializeAws_restJson1ThemeValuesList(output.values, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1ThemeList = (output: any, context: __SerdeContext): Theme[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1Theme(entry, context);
+ });
+};
+
+const deserializeAws_restJson1ThemeSummary = (output: any, context: __SerdeContext): ThemeSummary => {
+ return {
+ appId: __expectString(output.appId),
+ environmentName: __expectString(output.environmentName),
+ id: __expectString(output.id),
+ name: __expectString(output.name),
+ } as any;
+};
+
+const deserializeAws_restJson1ThemeSummaryList = (output: any, context: __SerdeContext): ThemeSummary[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1ThemeSummary(entry, context);
+ });
+};
+
+const deserializeAws_restJson1ThemeValue = (output: any, context: __SerdeContext): ThemeValue => {
+ return {
+ children:
+ output.children !== undefined && output.children !== null
+ ? deserializeAws_restJson1ThemeValuesList(output.children, context)
+ : undefined,
+ value: __expectString(output.value),
+ } as any;
+};
+
+const deserializeAws_restJson1ThemeValues = (output: any, context: __SerdeContext): ThemeValues => {
+ return {
+ key: __expectString(output.key),
+ value:
+ output.value !== undefined && output.value !== null
+ ? deserializeAws_restJson1ThemeValue(output.value, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1ThemeValuesList = (output: any, context: __SerdeContext): ThemeValues[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1ThemeValues(entry, context);
+ });
+};
+
+const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({
+ httpStatusCode: output.statusCode,
+ requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"],
+ extendedRequestId: output.headers["x-amz-id-2"],
+ cfId: output.headers["x-amz-cf-id"],
+});
+
+// Collect low-level response body stream to Uint8Array.
+const collectBody = (streamBody: any = new Uint8Array(), context: __SerdeContext): Promise => {
+ if (streamBody instanceof Uint8Array) {
+ return Promise.resolve(streamBody);
+ }
+ return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());
+};
+
+// Encode Uint8Array data into string with utf-8.
+const collectBodyString = (streamBody: any, context: __SerdeContext): Promise =>
+ collectBody(streamBody, context).then((body) => context.utf8Encoder(body));
+
+const isSerializableHeaderValue = (value: any): boolean =>
+ value !== undefined &&
+ value !== null &&
+ value !== "" &&
+ (!Object.getOwnPropertyNames(value).includes("length") || value.length != 0) &&
+ (!Object.getOwnPropertyNames(value).includes("size") || value.size != 0);
+
+const parseBody = (streamBody: any, context: __SerdeContext): any =>
+ collectBodyString(streamBody, context).then((encoded) => {
+ if (encoded.length) {
+ return JSON.parse(encoded);
+ }
+ return {};
+ });
+
+/**
+ * Load an error code for the aws.rest-json-1.1 protocol.
+ */
+const loadRestJsonErrorCode = (output: __HttpResponse, data: any): string => {
+ const findKey = (object: any, key: string) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
+
+ const sanitizeErrorCode = (rawValue: string): string => {
+ let cleanValue = rawValue;
+ if (cleanValue.indexOf(":") >= 0) {
+ cleanValue = cleanValue.split(":")[0];
+ }
+ if (cleanValue.indexOf("#") >= 0) {
+ cleanValue = cleanValue.split("#")[1];
+ }
+ return cleanValue;
+ };
+
+ const headerKey = findKey(output.headers, "x-amzn-errortype");
+ if (headerKey !== undefined) {
+ return sanitizeErrorCode(output.headers[headerKey]);
+ }
+
+ if (data.code !== undefined) {
+ return sanitizeErrorCode(data.code);
+ }
+
+ if (data["__type"] !== undefined) {
+ return sanitizeErrorCode(data["__type"]);
+ }
+
+ return "";
+};
diff --git a/clients/client-amplifyuibuilder/src/runtimeConfig.browser.ts b/clients/client-amplifyuibuilder/src/runtimeConfig.browser.ts
new file mode 100644
index 000000000000..0d7c8aa9700f
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/runtimeConfig.browser.ts
@@ -0,0 +1,44 @@
+// @ts-ignore: package.json will be imported from dist folders
+import packageInfo from "../package.json"; // eslint-disable-line
+
+import { Sha256 } from "@aws-crypto/sha256-browser";
+import { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from "@aws-sdk/config-resolver";
+import { FetchHttpHandler, streamCollector } from "@aws-sdk/fetch-http-handler";
+import { invalidProvider } from "@aws-sdk/invalid-dependency";
+import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "@aws-sdk/middleware-retry";
+import { fromBase64, toBase64 } from "@aws-sdk/util-base64-browser";
+import { calculateBodyLength } from "@aws-sdk/util-body-length-browser";
+import { defaultUserAgent } from "@aws-sdk/util-user-agent-browser";
+import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-browser";
+import { AmplifyUIBuilderClientConfig } from "./AmplifyUIBuilderClient";
+import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
+
+/**
+ * @internal
+ */
+export const getRuntimeConfig = (config: AmplifyUIBuilderClientConfig) => {
+ const clientSharedValues = getSharedRuntimeConfig(config);
+ return {
+ ...clientSharedValues,
+ ...config,
+ runtime: "browser",
+ base64Decoder: config?.base64Decoder ?? fromBase64,
+ base64Encoder: config?.base64Encoder ?? toBase64,
+ bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
+ credentialDefaultProvider:
+ config?.credentialDefaultProvider ?? ((_: unknown) => () => Promise.reject(new Error("Credential is missing"))),
+ defaultUserAgentProvider:
+ config?.defaultUserAgentProvider ??
+ defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
+ maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,
+ region: config?.region ?? invalidProvider("Region is missing"),
+ requestHandler: config?.requestHandler ?? new FetchHttpHandler(),
+ retryMode: config?.retryMode ?? (() => Promise.resolve(DEFAULT_RETRY_MODE)),
+ sha256: config?.sha256 ?? Sha256,
+ streamCollector: config?.streamCollector ?? streamCollector,
+ useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),
+ useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)),
+ utf8Decoder: config?.utf8Decoder ?? fromUtf8,
+ utf8Encoder: config?.utf8Encoder ?? toUtf8,
+ };
+};
diff --git a/clients/client-amplifyuibuilder/src/runtimeConfig.native.ts b/clients/client-amplifyuibuilder/src/runtimeConfig.native.ts
new file mode 100644
index 000000000000..d03c89af8c48
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/runtimeConfig.native.ts
@@ -0,0 +1,17 @@
+import { Sha256 } from "@aws-crypto/sha256-js";
+
+import { AmplifyUIBuilderClientConfig } from "./AmplifyUIBuilderClient";
+import { getRuntimeConfig as getBrowserRuntimeConfig } from "./runtimeConfig.browser";
+
+/**
+ * @internal
+ */
+export const getRuntimeConfig = (config: AmplifyUIBuilderClientConfig) => {
+ const browserDefaults = getBrowserRuntimeConfig(config);
+ return {
+ ...browserDefaults,
+ ...config,
+ runtime: "react-native",
+ sha256: config?.sha256 ?? Sha256,
+ };
+};
diff --git a/clients/client-amplifyuibuilder/src/runtimeConfig.shared.ts b/clients/client-amplifyuibuilder/src/runtimeConfig.shared.ts
new file mode 100644
index 000000000000..78fd3e2bee0c
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/runtimeConfig.shared.ts
@@ -0,0 +1,17 @@
+import { Logger as __Logger } from "@aws-sdk/types";
+import { parseUrl } from "@aws-sdk/url-parser";
+
+import { AmplifyUIBuilderClientConfig } from "./AmplifyUIBuilderClient";
+import { defaultRegionInfoProvider } from "./endpoints";
+
+/**
+ * @internal
+ */
+export const getRuntimeConfig = (config: AmplifyUIBuilderClientConfig) => ({
+ apiVersion: "2021-08-11",
+ disableHostPrefix: config?.disableHostPrefix ?? false,
+ logger: config?.logger ?? ({} as __Logger),
+ regionInfoProvider: config?.regionInfoProvider ?? defaultRegionInfoProvider,
+ serviceId: config?.serviceId ?? "AmplifyUIBuilder",
+ urlParser: config?.urlParser ?? parseUrl,
+});
diff --git a/clients/client-amplifyuibuilder/src/runtimeConfig.ts b/clients/client-amplifyuibuilder/src/runtimeConfig.ts
new file mode 100644
index 000000000000..a1466d813dd4
--- /dev/null
+++ b/clients/client-amplifyuibuilder/src/runtimeConfig.ts
@@ -0,0 +1,53 @@
+// @ts-ignore: package.json will be imported from dist folders
+import packageInfo from "../package.json"; // eslint-disable-line
+
+import { decorateDefaultCredentialProvider } from "@aws-sdk/client-sts";
+import {
+ NODE_REGION_CONFIG_FILE_OPTIONS,
+ NODE_REGION_CONFIG_OPTIONS,
+ NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,
+ NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,
+} from "@aws-sdk/config-resolver";
+import { defaultProvider as credentialDefaultProvider } from "@aws-sdk/credential-provider-node";
+import { Hash } from "@aws-sdk/hash-node";
+import { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from "@aws-sdk/middleware-retry";
+import { loadConfig as loadNodeConfig } from "@aws-sdk/node-config-provider";
+import { NodeHttpHandler, streamCollector } from "@aws-sdk/node-http-handler";
+import { fromBase64, toBase64 } from "@aws-sdk/util-base64-node";
+import { calculateBodyLength } from "@aws-sdk/util-body-length-node";
+import { defaultUserAgent } from "@aws-sdk/util-user-agent-node";
+import { fromUtf8, toUtf8 } from "@aws-sdk/util-utf8-node";
+import { AmplifyUIBuilderClientConfig } from "./AmplifyUIBuilderClient";
+import { getRuntimeConfig as getSharedRuntimeConfig } from "./runtimeConfig.shared";
+import { emitWarningIfUnsupportedVersion } from "@aws-sdk/smithy-client";
+
+/**
+ * @internal
+ */
+export const getRuntimeConfig = (config: AmplifyUIBuilderClientConfig) => {
+ emitWarningIfUnsupportedVersion(process.version);
+ const clientSharedValues = getSharedRuntimeConfig(config);
+ return {
+ ...clientSharedValues,
+ ...config,
+ runtime: "node",
+ base64Decoder: config?.base64Decoder ?? fromBase64,
+ base64Encoder: config?.base64Encoder ?? toBase64,
+ bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,
+ credentialDefaultProvider:
+ config?.credentialDefaultProvider ?? decorateDefaultCredentialProvider(credentialDefaultProvider),
+ defaultUserAgentProvider:
+ config?.defaultUserAgentProvider ??
+ defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),
+ maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS),
+ region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS),
+ requestHandler: config?.requestHandler ?? new NodeHttpHandler(),
+ retryMode: config?.retryMode ?? loadNodeConfig(NODE_RETRY_MODE_CONFIG_OPTIONS),
+ sha256: config?.sha256 ?? Hash.bind(null, "sha256"),
+ streamCollector: config?.streamCollector ?? streamCollector,
+ useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS),
+ useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS),
+ utf8Decoder: config?.utf8Decoder ?? fromUtf8,
+ utf8Encoder: config?.utf8Encoder ?? toUtf8,
+ };
+};
diff --git a/clients/client-amplifyuibuilder/tsconfig.es.json b/clients/client-amplifyuibuilder/tsconfig.es.json
new file mode 100644
index 000000000000..4c72364cd1a0
--- /dev/null
+++ b/clients/client-amplifyuibuilder/tsconfig.es.json
@@ -0,0 +1,10 @@
+{
+ "extends": "./tsconfig",
+ "compilerOptions": {
+ "target": "es5",
+ "module": "esnext",
+ "moduleResolution": "node",
+ "lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"],
+ "outDir": "dist-es"
+ }
+}
diff --git a/clients/client-amplifyuibuilder/tsconfig.json b/clients/client-amplifyuibuilder/tsconfig.json
new file mode 100644
index 000000000000..093039289c53
--- /dev/null
+++ b/clients/client-amplifyuibuilder/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compilerOptions": {
+ "rootDir": "./src",
+ "alwaysStrict": true,
+ "target": "ES2018",
+ "module": "commonjs",
+ "strict": true,
+ "downlevelIteration": true,
+ "importHelpers": true,
+ "noEmitHelpers": true,
+ "incremental": true,
+ "resolveJsonModule": true,
+ "esModuleInterop": true,
+ "outDir": "dist-cjs",
+ "removeComments": true
+ },
+ "typedocOptions": {
+ "exclude": ["**/node_modules/**", "**/*.spec.ts", "**/protocols/*.ts", "**/e2e/*.ts", "**/endpoints.ts"],
+ "excludeNotExported": true,
+ "excludePrivate": true,
+ "hideGenerator": true,
+ "ignoreCompilerErrors": true,
+ "includeDeclarations": true,
+ "stripInternal": true,
+ "readme": "README.md",
+ "mode": "file",
+ "out": "docs",
+ "theme": "minimal",
+ "plugin": ["@aws-sdk/service-client-documentation-generator"]
+ },
+ "exclude": ["test/**/*"]
+}
diff --git a/clients/client-amplifyuibuilder/tsconfig.types.json b/clients/client-amplifyuibuilder/tsconfig.types.json
new file mode 100644
index 000000000000..4c3dfa7b3d25
--- /dev/null
+++ b/clients/client-amplifyuibuilder/tsconfig.types.json
@@ -0,0 +1,10 @@
+{
+ "extends": "./tsconfig",
+ "compilerOptions": {
+ "removeComments": false,
+ "declaration": true,
+ "declarationDir": "dist-types",
+ "emitDeclarationOnly": true
+ },
+ "exclude": ["test/**/*", "dist-types/**/*"]
+}
diff --git a/clients/client-api-gateway/src/endpoints.ts b/clients/client-api-gateway/src/endpoints.ts
index b1fd36857c96..7b16df0a6427 100644
--- a/clients/client-api-gateway/src/endpoints.ts
+++ b/clients/client-api-gateway/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-api-gateway/src/models/models_0.ts b/clients/client-api-gateway/src/models/models_0.ts
index 6f61441268c5..57b00f3f435c 100644
--- a/clients/client-api-gateway/src/models/models_0.ts
+++ b/clients/client-api-gateway/src/models/models_0.ts
@@ -29,12 +29,12 @@ export namespace AccessLogSettings {
*/
export interface ThrottleSettings {
/**
- * The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.
+ * The API target request burst rate limit. This allows more requests through for a period of time than the target rate limit.
*/
burstLimit?: number;
/**
- * The API request steady-state rate limit.
+ * The API target request rate limit.
*/
rateLimit?: number;
}
@@ -2905,7 +2905,7 @@ export enum QuotaPeriodType {
*/
export interface QuotaSettings {
/**
- * The maximum number of requests that can be made in a given time period.
+ * The target maximum number of requests that can be made in a given time period.
*/
limit?: number;
@@ -2974,7 +2974,10 @@ export namespace CreateUsagePlanRequest {
}
/**
- * Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.
+ * Represents a usage plan used to specify who can assess associated API stages. Optionally, target request rate and quota limits can be set.
+ * In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs.
+ * Consider using AWS Budgets to monitor costs
+ * and AWS WAF to manage API requests.
*
@@ -3004,12 +3007,12 @@ export interface UsagePlan {
apiStages?: ApiStage[];
/**
- * The request throttle limits of a usage plan.
+ * Map containing method level throttling information for API stage in a usage plan.
*/
throttle?: ThrottleSettings;
/**
- * The maximum number of permitted requests per a given unit time interval.
+ * The target maximum number of permitted requests per a given unit time interval.
*/
quota?: QuotaSettings;
diff --git a/clients/client-apigatewaymanagementapi/src/endpoints.ts b/clients/client-apigatewaymanagementapi/src/endpoints.ts
index 265b2f582655..479acf730ebc 100644
--- a/clients/client-apigatewaymanagementapi/src/endpoints.ts
+++ b/clients/client-apigatewaymanagementapi/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-apigatewayv2/src/endpoints.ts b/clients/client-apigatewayv2/src/endpoints.ts
index b1fd36857c96..7b16df0a6427 100644
--- a/clients/client-apigatewayv2/src/endpoints.ts
+++ b/clients/client-apigatewayv2/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-app-mesh/src/endpoints.ts b/clients/client-app-mesh/src/endpoints.ts
index 9ff019b55eeb..911b4ce10b4d 100644
--- a/clients/client-app-mesh/src/endpoints.ts
+++ b/clients/client-app-mesh/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-appconfig/src/endpoints.ts b/clients/client-appconfig/src/endpoints.ts
index 6f747c5bce87..b94c45cccd44 100644
--- a/clients/client-appconfig/src/endpoints.ts
+++ b/clients/client-appconfig/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-appconfigdata/src/endpoints.ts b/clients/client-appconfigdata/src/endpoints.ts
index 9cad5eba5350..9b5ab6e03ecb 100644
--- a/clients/client-appconfigdata/src/endpoints.ts
+++ b/clients/client-appconfigdata/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-appflow/src/endpoints.ts b/clients/client-appflow/src/endpoints.ts
index 9304b6a8933f..fe0580f66b41 100644
--- a/clients/client-appflow/src/endpoints.ts
+++ b/clients/client-appflow/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-appintegrations/src/endpoints.ts b/clients/client-appintegrations/src/endpoints.ts
index 20a9bbec0803..33ae06f717e0 100644
--- a/clients/client-appintegrations/src/endpoints.ts
+++ b/clients/client-appintegrations/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-application-auto-scaling/src/endpoints.ts b/clients/client-application-auto-scaling/src/endpoints.ts
index 3e6b3de3ed6c..e71631197aa9 100644
--- a/clients/client-application-auto-scaling/src/endpoints.ts
+++ b/clients/client-application-auto-scaling/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-application-discovery-service/src/endpoints.ts b/clients/client-application-discovery-service/src/endpoints.ts
index a16eafe23530..48bec2f0483c 100644
--- a/clients/client-application-discovery-service/src/endpoints.ts
+++ b/clients/client-application-discovery-service/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-application-insights/src/endpoints.ts b/clients/client-application-insights/src/endpoints.ts
index 12337f49796d..674286332101 100644
--- a/clients/client-application-insights/src/endpoints.ts
+++ b/clients/client-application-insights/src/endpoints.ts
@@ -33,6 +33,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-applicationcostprofiler/src/endpoints.ts b/clients/client-applicationcostprofiler/src/endpoints.ts
index e27aeb4486c7..b68e66674d6e 100644
--- a/clients/client-applicationcostprofiler/src/endpoints.ts
+++ b/clients/client-applicationcostprofiler/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-apprunner/src/endpoints.ts b/clients/client-apprunner/src/endpoints.ts
index d3a8dbc4fae9..9a055bee25aa 100644
--- a/clients/client-apprunner/src/endpoints.ts
+++ b/clients/client-apprunner/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-appstream/src/endpoints.ts b/clients/client-appstream/src/endpoints.ts
index bc91b82eac37..3776ce1866f6 100644
--- a/clients/client-appstream/src/endpoints.ts
+++ b/clients/client-appstream/src/endpoints.ts
@@ -51,6 +51,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-appsync/README.md b/clients/client-appsync/README.md
index e79d656010af..f9da3b2ca3b7 100644
--- a/clients/client-appsync/README.md
+++ b/clients/client-appsync/README.md
@@ -25,16 +25,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 `AppSyncClient` and
-the commands you need, for example `CreateApiCacheCommand`:
+the commands you need, for example `AssociateApiCommand`:
```js
// ES5 example
-const { AppSyncClient, CreateApiCacheCommand } = require("@aws-sdk/client-appsync");
+const { AppSyncClient, AssociateApiCommand } = require("@aws-sdk/client-appsync");
```
```ts
// ES6+ example
-import { AppSyncClient, CreateApiCacheCommand } from "@aws-sdk/client-appsync";
+import { AppSyncClient, AssociateApiCommand } from "@aws-sdk/client-appsync";
```
### Usage
@@ -53,7 +53,7 @@ const client = new AppSyncClient({ region: "REGION" });
const params = {
/** input parameters */
};
-const command = new CreateApiCacheCommand(params);
+const command = new AssociateApiCommand(params);
```
#### Async/await
@@ -132,7 +132,7 @@ const client = new AWS.AppSync({ region: "REGION" });
// async/await.
try {
- const data = await client.createApiCache(params);
+ const data = await client.associateApi(params);
// process data.
} catch (error) {
// error handling.
@@ -140,7 +140,7 @@ try {
// Promises.
client
- .createApiCache(params)
+ .associateApi(params)
.then((data) => {
// process data.
})
@@ -149,7 +149,7 @@ client
});
// callbacks.
-client.createApiCache(params, (err, data) => {
+client.associateApi(params, (err, data) => {
// proccess err and data.
});
```
diff --git a/clients/client-appsync/src/AppSync.ts b/clients/client-appsync/src/AppSync.ts
index 5c3e81c2754f..12e5dd49d899 100644
--- a/clients/client-appsync/src/AppSync.ts
+++ b/clients/client-appsync/src/AppSync.ts
@@ -1,6 +1,11 @@
import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types";
import { AppSyncClient } from "./AppSyncClient";
+import {
+ AssociateApiCommand,
+ AssociateApiCommandInput,
+ AssociateApiCommandOutput,
+} from "./commands/AssociateApiCommand";
import {
CreateApiCacheCommand,
CreateApiCacheCommandInput,
@@ -16,6 +21,11 @@ import {
CreateDataSourceCommandInput,
CreateDataSourceCommandOutput,
} from "./commands/CreateDataSourceCommand";
+import {
+ CreateDomainNameCommand,
+ CreateDomainNameCommandInput,
+ CreateDomainNameCommandOutput,
+} from "./commands/CreateDomainNameCommand";
import {
CreateFunctionCommand,
CreateFunctionCommandInput,
@@ -47,6 +57,11 @@ import {
DeleteDataSourceCommandInput,
DeleteDataSourceCommandOutput,
} from "./commands/DeleteDataSourceCommand";
+import {
+ DeleteDomainNameCommand,
+ DeleteDomainNameCommandInput,
+ DeleteDomainNameCommandOutput,
+} from "./commands/DeleteDomainNameCommand";
import {
DeleteFunctionCommand,
DeleteFunctionCommandInput,
@@ -63,17 +78,32 @@ import {
DeleteResolverCommandOutput,
} from "./commands/DeleteResolverCommand";
import { DeleteTypeCommand, DeleteTypeCommandInput, DeleteTypeCommandOutput } from "./commands/DeleteTypeCommand";
+import {
+ DisassociateApiCommand,
+ DisassociateApiCommandInput,
+ DisassociateApiCommandOutput,
+} from "./commands/DisassociateApiCommand";
import {
FlushApiCacheCommand,
FlushApiCacheCommandInput,
FlushApiCacheCommandOutput,
} from "./commands/FlushApiCacheCommand";
+import {
+ GetApiAssociationCommand,
+ GetApiAssociationCommandInput,
+ GetApiAssociationCommandOutput,
+} from "./commands/GetApiAssociationCommand";
import { GetApiCacheCommand, GetApiCacheCommandInput, GetApiCacheCommandOutput } from "./commands/GetApiCacheCommand";
import {
GetDataSourceCommand,
GetDataSourceCommandInput,
GetDataSourceCommandOutput,
} from "./commands/GetDataSourceCommand";
+import {
+ GetDomainNameCommand,
+ GetDomainNameCommandInput,
+ GetDomainNameCommandOutput,
+} from "./commands/GetDomainNameCommand";
import { GetFunctionCommand, GetFunctionCommandInput, GetFunctionCommandOutput } from "./commands/GetFunctionCommand";
import {
GetGraphqlApiCommand,
@@ -98,6 +128,11 @@ import {
ListDataSourcesCommandInput,
ListDataSourcesCommandOutput,
} from "./commands/ListDataSourcesCommand";
+import {
+ ListDomainNamesCommand,
+ ListDomainNamesCommandInput,
+ ListDomainNamesCommandOutput,
+} from "./commands/ListDomainNamesCommand";
import {
ListFunctionsCommand,
ListFunctionsCommandInput,
@@ -150,6 +185,11 @@ import {
UpdateDataSourceCommandInput,
UpdateDataSourceCommandOutput,
} from "./commands/UpdateDataSourceCommand";
+import {
+ UpdateDomainNameCommand,
+ UpdateDomainNameCommandInput,
+ UpdateDomainNameCommandOutput,
+} from "./commands/UpdateDomainNameCommand";
import {
UpdateFunctionCommand,
UpdateFunctionCommandInput,
@@ -172,6 +212,35 @@ import { UpdateTypeCommand, UpdateTypeCommandInput, UpdateTypeCommandOutput } fr
* sources using GraphQL from your application.
*/
export class AppSync extends AppSyncClient {
+ /**
+ * Maps an endpoint to your custom domain.
+ */
+ public associateApi(
+ args: AssociateApiCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public associateApi(args: AssociateApiCommandInput, cb: (err: any, data?: AssociateApiCommandOutput) => void): void;
+ public associateApi(
+ args: AssociateApiCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: AssociateApiCommandOutput) => void
+ ): void;
+ public associateApi(
+ args: AssociateApiCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateApiCommandOutput) => void),
+ cb?: (err: any, data?: AssociateApiCommandOutput) => void
+ ): Promise | void {
+ const command = new AssociateApiCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 cache for the GraphQL API.
*/
@@ -205,8 +274,7 @@ export class AppSync extends AppSyncClient {
}
/**
- * Creates a unique key that you can distribute to clients who are executing your
- * API.
+ * Creates a unique key that you can distribute to clients who invoke your API.
*/
public createApiKey(
args: CreateApiKeyCommandInput,
@@ -266,9 +334,41 @@ export class AppSync extends AppSyncClient {
}
}
+ /**
+ * Creates a custom DomainName
object.
+ */
+ public createDomainName(
+ args: CreateDomainNameCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createDomainName(
+ args: CreateDomainNameCommandInput,
+ cb: (err: any, data?: CreateDomainNameCommandOutput) => void
+ ): void;
+ public createDomainName(
+ args: CreateDomainNameCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateDomainNameCommandOutput) => void
+ ): void;
+ public createDomainName(
+ args: CreateDomainNameCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateDomainNameCommandOutput) => void),
+ cb?: (err: any, data?: CreateDomainNameCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateDomainNameCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 Function
object.
- * A function is a reusable entity. Multiple functions can be used to compose the resolver
+ *
A function is a reusable entity. You can use multiple functions to compose the resolver
* logic.
*/
public createFunction(
@@ -334,7 +434,7 @@ export class AppSync extends AppSyncClient {
/**
* Creates a Resolver
object.
- * A resolver converts incoming requests into a format that a data source can understand
+ *
A resolver converts incoming requests into a format that a data source can understand,
* and converts the data source's responses into GraphQL.
*/
public createResolver(
@@ -485,6 +585,38 @@ export class AppSync extends AppSyncClient {
}
}
+ /**
+ * Deletes a custom DomainName
object.
+ */
+ public deleteDomainName(
+ args: DeleteDomainNameCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteDomainName(
+ args: DeleteDomainNameCommandInput,
+ cb: (err: any, data?: DeleteDomainNameCommandOutput) => void
+ ): void;
+ public deleteDomainName(
+ args: DeleteDomainNameCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteDomainNameCommandOutput) => void
+ ): void;
+ public deleteDomainName(
+ args: DeleteDomainNameCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteDomainNameCommandOutput) => void),
+ cb?: (err: any, data?: DeleteDomainNameCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteDomainNameCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Deletes a Function
.
*/
@@ -607,6 +739,38 @@ export class AppSync extends AppSyncClient {
}
}
+ /**
+ * Removes an ApiAssociation
object from a custom domain.
+ */
+ public disassociateApi(
+ args: DisassociateApiCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public disassociateApi(
+ args: DisassociateApiCommandInput,
+ cb: (err: any, data?: DisassociateApiCommandOutput) => void
+ ): void;
+ public disassociateApi(
+ args: DisassociateApiCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DisassociateApiCommandOutput) => void
+ ): void;
+ public disassociateApi(
+ args: DisassociateApiCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateApiCommandOutput) => void),
+ cb?: (err: any, data?: DisassociateApiCommandOutput) => void
+ ): Promise | void {
+ const command = new DisassociateApiCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Flushes an ApiCache
object.
*/
@@ -639,6 +803,38 @@ export class AppSync extends AppSyncClient {
}
}
+ /**
+ * Retrieves an ApiAssociation
object.
+ */
+ public getApiAssociation(
+ args: GetApiAssociationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getApiAssociation(
+ args: GetApiAssociationCommandInput,
+ cb: (err: any, data?: GetApiAssociationCommandOutput) => void
+ ): void;
+ public getApiAssociation(
+ args: GetApiAssociationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetApiAssociationCommandOutput) => void
+ ): void;
+ public getApiAssociation(
+ args: GetApiAssociationCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetApiAssociationCommandOutput) => void),
+ cb?: (err: any, data?: GetApiAssociationCommandOutput) => void
+ ): Promise | void {
+ const command = new GetApiAssociationCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 an ApiCache
object.
*/
@@ -697,6 +893,38 @@ export class AppSync extends AppSyncClient {
}
}
+ /**
+ * Retrieves a custom DomainName
object.
+ */
+ public getDomainName(
+ args: GetDomainNameCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getDomainName(
+ args: GetDomainNameCommandInput,
+ cb: (err: any, data?: GetDomainNameCommandOutput) => void
+ ): void;
+ public getDomainName(
+ args: GetDomainNameCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetDomainNameCommandOutput) => void
+ ): void;
+ public getDomainName(
+ args: GetDomainNameCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetDomainNameCommandOutput) => void),
+ cb?: (err: any, data?: GetDomainNameCommandOutput) => void
+ ): Promise | void {
+ const command = new GetDomainNameCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 Function
.
*/
@@ -935,6 +1163,38 @@ export class AppSync extends AppSyncClient {
}
}
+ /**
+ * Lists multiple custom domain names.
+ */
+ public listDomainNames(
+ args: ListDomainNamesCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listDomainNames(
+ args: ListDomainNamesCommandInput,
+ cb: (err: any, data?: ListDomainNamesCommandOutput) => void
+ ): void;
+ public listDomainNames(
+ args: ListDomainNamesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListDomainNamesCommandOutput) => void
+ ): void;
+ public listDomainNames(
+ args: ListDomainNamesCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListDomainNamesCommandOutput) => void),
+ cb?: (err: any, data?: ListDomainNamesCommandOutput) => void
+ ): Promise | void {
+ const command = new ListDomainNamesCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* List multiple functions.
*/
@@ -1246,7 +1506,7 @@ export class AppSync extends AppSyncClient {
}
/**
- * Updates an API key. The key can be updated while it is not deleted.
+ * Updates an API key. You can update the key as long as it's not deleted.
*/
public updateApiKey(
args: UpdateApiKeyCommandInput,
@@ -1306,6 +1566,38 @@ export class AppSync extends AppSyncClient {
}
}
+ /**
+ * Updates a custom DomainName
object.
+ */
+ public updateDomainName(
+ args: UpdateDomainNameCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateDomainName(
+ args: UpdateDomainNameCommandInput,
+ cb: (err: any, data?: UpdateDomainNameCommandOutput) => void
+ ): void;
+ public updateDomainName(
+ args: UpdateDomainNameCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateDomainNameCommandOutput) => void
+ ): void;
+ public updateDomainName(
+ args: UpdateDomainNameCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateDomainNameCommandOutput) => void),
+ cb?: (err: any, data?: UpdateDomainNameCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateDomainNameCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Updates a Function
object.
*/
diff --git a/clients/client-appsync/src/AppSyncClient.ts b/clients/client-appsync/src/AppSyncClient.ts
index bc5824483eec..846ea57c4452 100644
--- a/clients/client-appsync/src/AppSyncClient.ts
+++ b/clients/client-appsync/src/AppSyncClient.ts
@@ -49,9 +49,11 @@ import {
UserAgent as __UserAgent,
} from "@aws-sdk/types";
+import { AssociateApiCommandInput, AssociateApiCommandOutput } from "./commands/AssociateApiCommand";
import { CreateApiCacheCommandInput, CreateApiCacheCommandOutput } from "./commands/CreateApiCacheCommand";
import { CreateApiKeyCommandInput, CreateApiKeyCommandOutput } from "./commands/CreateApiKeyCommand";
import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput } from "./commands/CreateDataSourceCommand";
+import { CreateDomainNameCommandInput, CreateDomainNameCommandOutput } from "./commands/CreateDomainNameCommand";
import { CreateFunctionCommandInput, CreateFunctionCommandOutput } from "./commands/CreateFunctionCommand";
import { CreateGraphqlApiCommandInput, CreateGraphqlApiCommandOutput } from "./commands/CreateGraphqlApiCommand";
import { CreateResolverCommandInput, CreateResolverCommandOutput } from "./commands/CreateResolverCommand";
@@ -59,13 +61,17 @@ import { CreateTypeCommandInput, CreateTypeCommandOutput } from "./commands/Crea
import { DeleteApiCacheCommandInput, DeleteApiCacheCommandOutput } from "./commands/DeleteApiCacheCommand";
import { DeleteApiKeyCommandInput, DeleteApiKeyCommandOutput } from "./commands/DeleteApiKeyCommand";
import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput } from "./commands/DeleteDataSourceCommand";
+import { DeleteDomainNameCommandInput, DeleteDomainNameCommandOutput } from "./commands/DeleteDomainNameCommand";
import { DeleteFunctionCommandInput, DeleteFunctionCommandOutput } from "./commands/DeleteFunctionCommand";
import { DeleteGraphqlApiCommandInput, DeleteGraphqlApiCommandOutput } from "./commands/DeleteGraphqlApiCommand";
import { DeleteResolverCommandInput, DeleteResolverCommandOutput } from "./commands/DeleteResolverCommand";
import { DeleteTypeCommandInput, DeleteTypeCommandOutput } from "./commands/DeleteTypeCommand";
+import { DisassociateApiCommandInput, DisassociateApiCommandOutput } from "./commands/DisassociateApiCommand";
import { FlushApiCacheCommandInput, FlushApiCacheCommandOutput } from "./commands/FlushApiCacheCommand";
+import { GetApiAssociationCommandInput, GetApiAssociationCommandOutput } from "./commands/GetApiAssociationCommand";
import { GetApiCacheCommandInput, GetApiCacheCommandOutput } from "./commands/GetApiCacheCommand";
import { GetDataSourceCommandInput, GetDataSourceCommandOutput } from "./commands/GetDataSourceCommand";
+import { GetDomainNameCommandInput, GetDomainNameCommandOutput } from "./commands/GetDomainNameCommand";
import { GetFunctionCommandInput, GetFunctionCommandOutput } from "./commands/GetFunctionCommand";
import { GetGraphqlApiCommandInput, GetGraphqlApiCommandOutput } from "./commands/GetGraphqlApiCommand";
import {
@@ -80,6 +86,7 @@ import {
import { GetTypeCommandInput, GetTypeCommandOutput } from "./commands/GetTypeCommand";
import { ListApiKeysCommandInput, ListApiKeysCommandOutput } from "./commands/ListApiKeysCommand";
import { ListDataSourcesCommandInput, ListDataSourcesCommandOutput } from "./commands/ListDataSourcesCommand";
+import { ListDomainNamesCommandInput, ListDomainNamesCommandOutput } from "./commands/ListDomainNamesCommand";
import { ListFunctionsCommandInput, ListFunctionsCommandOutput } from "./commands/ListFunctionsCommand";
import { ListGraphqlApisCommandInput, ListGraphqlApisCommandOutput } from "./commands/ListGraphqlApisCommand";
import {
@@ -101,6 +108,7 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./command
import { UpdateApiCacheCommandInput, UpdateApiCacheCommandOutput } from "./commands/UpdateApiCacheCommand";
import { UpdateApiKeyCommandInput, UpdateApiKeyCommandOutput } from "./commands/UpdateApiKeyCommand";
import { UpdateDataSourceCommandInput, UpdateDataSourceCommandOutput } from "./commands/UpdateDataSourceCommand";
+import { UpdateDomainNameCommandInput, UpdateDomainNameCommandOutput } from "./commands/UpdateDomainNameCommand";
import { UpdateFunctionCommandInput, UpdateFunctionCommandOutput } from "./commands/UpdateFunctionCommand";
import { UpdateGraphqlApiCommandInput, UpdateGraphqlApiCommandOutput } from "./commands/UpdateGraphqlApiCommand";
import { UpdateResolverCommandInput, UpdateResolverCommandOutput } from "./commands/UpdateResolverCommand";
@@ -108,9 +116,11 @@ import { UpdateTypeCommandInput, UpdateTypeCommandOutput } from "./commands/Upda
import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
export type ServiceInputTypes =
+ | AssociateApiCommandInput
| CreateApiCacheCommandInput
| CreateApiKeyCommandInput
| CreateDataSourceCommandInput
+ | CreateDomainNameCommandInput
| CreateFunctionCommandInput
| CreateGraphqlApiCommandInput
| CreateResolverCommandInput
@@ -118,13 +128,17 @@ export type ServiceInputTypes =
| DeleteApiCacheCommandInput
| DeleteApiKeyCommandInput
| DeleteDataSourceCommandInput
+ | DeleteDomainNameCommandInput
| DeleteFunctionCommandInput
| DeleteGraphqlApiCommandInput
| DeleteResolverCommandInput
| DeleteTypeCommandInput
+ | DisassociateApiCommandInput
| FlushApiCacheCommandInput
+ | GetApiAssociationCommandInput
| GetApiCacheCommandInput
| GetDataSourceCommandInput
+ | GetDomainNameCommandInput
| GetFunctionCommandInput
| GetGraphqlApiCommandInput
| GetIntrospectionSchemaCommandInput
@@ -133,6 +147,7 @@ export type ServiceInputTypes =
| GetTypeCommandInput
| ListApiKeysCommandInput
| ListDataSourcesCommandInput
+ | ListDomainNamesCommandInput
| ListFunctionsCommandInput
| ListGraphqlApisCommandInput
| ListResolversByFunctionCommandInput
@@ -145,15 +160,18 @@ export type ServiceInputTypes =
| UpdateApiCacheCommandInput
| UpdateApiKeyCommandInput
| UpdateDataSourceCommandInput
+ | UpdateDomainNameCommandInput
| UpdateFunctionCommandInput
| UpdateGraphqlApiCommandInput
| UpdateResolverCommandInput
| UpdateTypeCommandInput;
export type ServiceOutputTypes =
+ | AssociateApiCommandOutput
| CreateApiCacheCommandOutput
| CreateApiKeyCommandOutput
| CreateDataSourceCommandOutput
+ | CreateDomainNameCommandOutput
| CreateFunctionCommandOutput
| CreateGraphqlApiCommandOutput
| CreateResolverCommandOutput
@@ -161,13 +179,17 @@ export type ServiceOutputTypes =
| DeleteApiCacheCommandOutput
| DeleteApiKeyCommandOutput
| DeleteDataSourceCommandOutput
+ | DeleteDomainNameCommandOutput
| DeleteFunctionCommandOutput
| DeleteGraphqlApiCommandOutput
| DeleteResolverCommandOutput
| DeleteTypeCommandOutput
+ | DisassociateApiCommandOutput
| FlushApiCacheCommandOutput
+ | GetApiAssociationCommandOutput
| GetApiCacheCommandOutput
| GetDataSourceCommandOutput
+ | GetDomainNameCommandOutput
| GetFunctionCommandOutput
| GetGraphqlApiCommandOutput
| GetIntrospectionSchemaCommandOutput
@@ -176,6 +198,7 @@ export type ServiceOutputTypes =
| GetTypeCommandOutput
| ListApiKeysCommandOutput
| ListDataSourcesCommandOutput
+ | ListDomainNamesCommandOutput
| ListFunctionsCommandOutput
| ListGraphqlApisCommandOutput
| ListResolversByFunctionCommandOutput
@@ -188,6 +211,7 @@ export type ServiceOutputTypes =
| UpdateApiCacheCommandOutput
| UpdateApiKeyCommandOutput
| UpdateDataSourceCommandOutput
+ | UpdateDomainNameCommandOutput
| UpdateFunctionCommandOutput
| UpdateGraphqlApiCommandOutput
| UpdateResolverCommandOutput
diff --git a/clients/client-appsync/src/commands/AssociateApiCommand.ts b/clients/client-appsync/src/commands/AssociateApiCommand.ts
new file mode 100644
index 000000000000..bb0a4adcade5
--- /dev/null
+++ b/clients/client-appsync/src/commands/AssociateApiCommand.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 { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient";
+import { AssociateApiRequest, AssociateApiResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1AssociateApiCommand,
+ serializeAws_restJson1AssociateApiCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface AssociateApiCommandInput extends AssociateApiRequest {}
+export interface AssociateApiCommandOutput extends AssociateApiResponse, __MetadataBearer {}
+
+/**
+ * Maps an endpoint to your custom domain.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AppSyncClient, AssociateApiCommand } from "@aws-sdk/client-appsync"; // ES Modules import
+ * // const { AppSyncClient, AssociateApiCommand } = require("@aws-sdk/client-appsync"); // CommonJS import
+ * const client = new AppSyncClient(config);
+ * const command = new AssociateApiCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link AssociateApiCommandInput} for command's `input` shape.
+ * @see {@link AssociateApiCommandOutput} for command's `response` shape.
+ * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape.
+ *
+ */
+export class AssociateApiCommand extends $Command<
+ AssociateApiCommandInput,
+ AssociateApiCommandOutput,
+ AppSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: AssociateApiCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AppSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AppSyncClient";
+ const commandName = "AssociateApiCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: AssociateApiRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: AssociateApiResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: AssociateApiCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1AssociateApiCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1AssociateApiCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-appsync/src/commands/CreateApiKeyCommand.ts b/clients/client-appsync/src/commands/CreateApiKeyCommand.ts
index a0dc71cfdcd3..3a6c860aebd4 100644
--- a/clients/client-appsync/src/commands/CreateApiKeyCommand.ts
+++ b/clients/client-appsync/src/commands/CreateApiKeyCommand.ts
@@ -22,8 +22,7 @@ export interface CreateApiKeyCommandInput extends CreateApiKeyRequest {}
export interface CreateApiKeyCommandOutput extends CreateApiKeyResponse, __MetadataBearer {}
/**
- * Creates a unique key that you can distribute to clients who are executing your
- * API.
+ * Creates a unique key that you can distribute to clients who invoke your API.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-appsync/src/commands/CreateDomainNameCommand.ts b/clients/client-appsync/src/commands/CreateDomainNameCommand.ts
new file mode 100644
index 000000000000..82cf25451267
--- /dev/null
+++ b/clients/client-appsync/src/commands/CreateDomainNameCommand.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 { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient";
+import { CreateDomainNameRequest, CreateDomainNameResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1CreateDomainNameCommand,
+ serializeAws_restJson1CreateDomainNameCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface CreateDomainNameCommandInput extends CreateDomainNameRequest {}
+export interface CreateDomainNameCommandOutput extends CreateDomainNameResponse, __MetadataBearer {}
+
+/**
+ * Creates a custom DomainName
object.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AppSyncClient, CreateDomainNameCommand } from "@aws-sdk/client-appsync"; // ES Modules import
+ * // const { AppSyncClient, CreateDomainNameCommand } = require("@aws-sdk/client-appsync"); // CommonJS import
+ * const client = new AppSyncClient(config);
+ * const command = new CreateDomainNameCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link CreateDomainNameCommandInput} for command's `input` shape.
+ * @see {@link CreateDomainNameCommandOutput} for command's `response` shape.
+ * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape.
+ *
+ */
+export class CreateDomainNameCommand extends $Command<
+ CreateDomainNameCommandInput,
+ CreateDomainNameCommandOutput,
+ AppSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateDomainNameCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AppSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AppSyncClient";
+ const commandName = "CreateDomainNameCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: CreateDomainNameRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: CreateDomainNameResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: CreateDomainNameCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1CreateDomainNameCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1CreateDomainNameCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-appsync/src/commands/CreateFunctionCommand.ts b/clients/client-appsync/src/commands/CreateFunctionCommand.ts
index ddde3130548c..a9726732a4c1 100644
--- a/clients/client-appsync/src/commands/CreateFunctionCommand.ts
+++ b/clients/client-appsync/src/commands/CreateFunctionCommand.ts
@@ -23,7 +23,7 @@ export interface CreateFunctionCommandOutput extends CreateFunctionResponse, __M
/**
* Creates a Function
object.
- * A function is a reusable entity. Multiple functions can be used to compose the resolver
+ *
A function is a reusable entity. You can use multiple functions to compose the resolver
* logic.
* @example
* Use a bare-bones client and the command you need to make an API call.
diff --git a/clients/client-appsync/src/commands/CreateResolverCommand.ts b/clients/client-appsync/src/commands/CreateResolverCommand.ts
index e1cb2b3ba0e3..730dc65f5402 100644
--- a/clients/client-appsync/src/commands/CreateResolverCommand.ts
+++ b/clients/client-appsync/src/commands/CreateResolverCommand.ts
@@ -23,7 +23,7 @@ export interface CreateResolverCommandOutput extends CreateResolverResponse, __M
/**
* Creates a Resolver
object.
- * A resolver converts incoming requests into a format that a data source can understand
+ *
A resolver converts incoming requests into a format that a data source can understand,
* and converts the data source's responses into GraphQL.
* @example
* Use a bare-bones client and the command you need to make an API call.
diff --git a/clients/client-appsync/src/commands/DeleteDomainNameCommand.ts b/clients/client-appsync/src/commands/DeleteDomainNameCommand.ts
new file mode 100644
index 000000000000..277a474399f2
--- /dev/null
+++ b/clients/client-appsync/src/commands/DeleteDomainNameCommand.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 { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient";
+import { DeleteDomainNameRequest, DeleteDomainNameResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1DeleteDomainNameCommand,
+ serializeAws_restJson1DeleteDomainNameCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface DeleteDomainNameCommandInput extends DeleteDomainNameRequest {}
+export interface DeleteDomainNameCommandOutput extends DeleteDomainNameResponse, __MetadataBearer {}
+
+/**
+ * Deletes a custom DomainName
object.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AppSyncClient, DeleteDomainNameCommand } from "@aws-sdk/client-appsync"; // ES Modules import
+ * // const { AppSyncClient, DeleteDomainNameCommand } = require("@aws-sdk/client-appsync"); // CommonJS import
+ * const client = new AppSyncClient(config);
+ * const command = new DeleteDomainNameCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link DeleteDomainNameCommandInput} for command's `input` shape.
+ * @see {@link DeleteDomainNameCommandOutput} for command's `response` shape.
+ * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape.
+ *
+ */
+export class DeleteDomainNameCommand extends $Command<
+ DeleteDomainNameCommandInput,
+ DeleteDomainNameCommandOutput,
+ AppSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteDomainNameCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AppSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AppSyncClient";
+ const commandName = "DeleteDomainNameCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: DeleteDomainNameRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: DeleteDomainNameResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: DeleteDomainNameCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1DeleteDomainNameCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1DeleteDomainNameCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-appsync/src/commands/DisassociateApiCommand.ts b/clients/client-appsync/src/commands/DisassociateApiCommand.ts
new file mode 100644
index 000000000000..09e82954346e
--- /dev/null
+++ b/clients/client-appsync/src/commands/DisassociateApiCommand.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 { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient";
+import { DisassociateApiRequest, DisassociateApiResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1DisassociateApiCommand,
+ serializeAws_restJson1DisassociateApiCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface DisassociateApiCommandInput extends DisassociateApiRequest {}
+export interface DisassociateApiCommandOutput extends DisassociateApiResponse, __MetadataBearer {}
+
+/**
+ * Removes an ApiAssociation
object from a custom domain.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AppSyncClient, DisassociateApiCommand } from "@aws-sdk/client-appsync"; // ES Modules import
+ * // const { AppSyncClient, DisassociateApiCommand } = require("@aws-sdk/client-appsync"); // CommonJS import
+ * const client = new AppSyncClient(config);
+ * const command = new DisassociateApiCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link DisassociateApiCommandInput} for command's `input` shape.
+ * @see {@link DisassociateApiCommandOutput} for command's `response` shape.
+ * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape.
+ *
+ */
+export class DisassociateApiCommand extends $Command<
+ DisassociateApiCommandInput,
+ DisassociateApiCommandOutput,
+ AppSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DisassociateApiCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AppSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AppSyncClient";
+ const commandName = "DisassociateApiCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: DisassociateApiRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: DisassociateApiResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: DisassociateApiCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1DisassociateApiCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1DisassociateApiCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-appsync/src/commands/GetApiAssociationCommand.ts b/clients/client-appsync/src/commands/GetApiAssociationCommand.ts
new file mode 100644
index 000000000000..d347a723c264
--- /dev/null
+++ b/clients/client-appsync/src/commands/GetApiAssociationCommand.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 { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient";
+import { GetApiAssociationRequest, GetApiAssociationResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1GetApiAssociationCommand,
+ serializeAws_restJson1GetApiAssociationCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface GetApiAssociationCommandInput extends GetApiAssociationRequest {}
+export interface GetApiAssociationCommandOutput extends GetApiAssociationResponse, __MetadataBearer {}
+
+/**
+ * Retrieves an ApiAssociation
object.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AppSyncClient, GetApiAssociationCommand } from "@aws-sdk/client-appsync"; // ES Modules import
+ * // const { AppSyncClient, GetApiAssociationCommand } = require("@aws-sdk/client-appsync"); // CommonJS import
+ * const client = new AppSyncClient(config);
+ * const command = new GetApiAssociationCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link GetApiAssociationCommandInput} for command's `input` shape.
+ * @see {@link GetApiAssociationCommandOutput} for command's `response` shape.
+ * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape.
+ *
+ */
+export class GetApiAssociationCommand extends $Command<
+ GetApiAssociationCommandInput,
+ GetApiAssociationCommandOutput,
+ AppSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: GetApiAssociationCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AppSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AppSyncClient";
+ const commandName = "GetApiAssociationCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: GetApiAssociationRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: GetApiAssociationResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: GetApiAssociationCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1GetApiAssociationCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1GetApiAssociationCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-appsync/src/commands/GetDomainNameCommand.ts b/clients/client-appsync/src/commands/GetDomainNameCommand.ts
new file mode 100644
index 000000000000..fe6e50774d66
--- /dev/null
+++ b/clients/client-appsync/src/commands/GetDomainNameCommand.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 { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient";
+import { GetDomainNameRequest, GetDomainNameResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1GetDomainNameCommand,
+ serializeAws_restJson1GetDomainNameCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface GetDomainNameCommandInput extends GetDomainNameRequest {}
+export interface GetDomainNameCommandOutput extends GetDomainNameResponse, __MetadataBearer {}
+
+/**
+ * Retrieves a custom DomainName
object.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AppSyncClient, GetDomainNameCommand } from "@aws-sdk/client-appsync"; // ES Modules import
+ * // const { AppSyncClient, GetDomainNameCommand } = require("@aws-sdk/client-appsync"); // CommonJS import
+ * const client = new AppSyncClient(config);
+ * const command = new GetDomainNameCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link GetDomainNameCommandInput} for command's `input` shape.
+ * @see {@link GetDomainNameCommandOutput} for command's `response` shape.
+ * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape.
+ *
+ */
+export class GetDomainNameCommand extends $Command<
+ GetDomainNameCommandInput,
+ GetDomainNameCommandOutput,
+ AppSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: GetDomainNameCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AppSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AppSyncClient";
+ const commandName = "GetDomainNameCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: GetDomainNameRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: GetDomainNameResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: GetDomainNameCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1GetDomainNameCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1GetDomainNameCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-appsync/src/commands/ListDomainNamesCommand.ts b/clients/client-appsync/src/commands/ListDomainNamesCommand.ts
new file mode 100644
index 000000000000..0df24a70d7eb
--- /dev/null
+++ b/clients/client-appsync/src/commands/ListDomainNamesCommand.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 { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient";
+import { ListDomainNamesRequest, ListDomainNamesResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ListDomainNamesCommand,
+ serializeAws_restJson1ListDomainNamesCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ListDomainNamesCommandInput extends ListDomainNamesRequest {}
+export interface ListDomainNamesCommandOutput extends ListDomainNamesResponse, __MetadataBearer {}
+
+/**
+ * Lists multiple custom domain names.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AppSyncClient, ListDomainNamesCommand } from "@aws-sdk/client-appsync"; // ES Modules import
+ * // const { AppSyncClient, ListDomainNamesCommand } = require("@aws-sdk/client-appsync"); // CommonJS import
+ * const client = new AppSyncClient(config);
+ * const command = new ListDomainNamesCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ListDomainNamesCommandInput} for command's `input` shape.
+ * @see {@link ListDomainNamesCommandOutput} for command's `response` shape.
+ * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape.
+ *
+ */
+export class ListDomainNamesCommand extends $Command<
+ ListDomainNamesCommandInput,
+ ListDomainNamesCommandOutput,
+ AppSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ListDomainNamesCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AppSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AppSyncClient";
+ const commandName = "ListDomainNamesCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ListDomainNamesRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ListDomainNamesResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ListDomainNamesCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1ListDomainNamesCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1ListDomainNamesCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-appsync/src/commands/UpdateApiKeyCommand.ts b/clients/client-appsync/src/commands/UpdateApiKeyCommand.ts
index 7f932c170381..18b99a7d4990 100644
--- a/clients/client-appsync/src/commands/UpdateApiKeyCommand.ts
+++ b/clients/client-appsync/src/commands/UpdateApiKeyCommand.ts
@@ -22,7 +22,7 @@ export interface UpdateApiKeyCommandInput extends UpdateApiKeyRequest {}
export interface UpdateApiKeyCommandOutput extends UpdateApiKeyResponse, __MetadataBearer {}
/**
- * Updates an API key. The key can be updated while it is not deleted.
+ * Updates an API key. You can update the key as long as it's not deleted.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-appsync/src/commands/UpdateDomainNameCommand.ts b/clients/client-appsync/src/commands/UpdateDomainNameCommand.ts
new file mode 100644
index 000000000000..0ccab8b1dfda
--- /dev/null
+++ b/clients/client-appsync/src/commands/UpdateDomainNameCommand.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 { AppSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AppSyncClient";
+import { UpdateDomainNameRequest, UpdateDomainNameResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1UpdateDomainNameCommand,
+ serializeAws_restJson1UpdateDomainNameCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface UpdateDomainNameCommandInput extends UpdateDomainNameRequest {}
+export interface UpdateDomainNameCommandOutput extends UpdateDomainNameResponse, __MetadataBearer {}
+
+/**
+ * Updates a custom DomainName
object.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { AppSyncClient, UpdateDomainNameCommand } from "@aws-sdk/client-appsync"; // ES Modules import
+ * // const { AppSyncClient, UpdateDomainNameCommand } = require("@aws-sdk/client-appsync"); // CommonJS import
+ * const client = new AppSyncClient(config);
+ * const command = new UpdateDomainNameCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link UpdateDomainNameCommandInput} for command's `input` shape.
+ * @see {@link UpdateDomainNameCommandOutput} for command's `response` shape.
+ * @see {@link AppSyncClientResolvedConfig | config} for AppSyncClient's `config` shape.
+ *
+ */
+export class UpdateDomainNameCommand extends $Command<
+ UpdateDomainNameCommandInput,
+ UpdateDomainNameCommandOutput,
+ AppSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: UpdateDomainNameCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: AppSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "AppSyncClient";
+ const commandName = "UpdateDomainNameCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: UpdateDomainNameRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: UpdateDomainNameResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: UpdateDomainNameCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1UpdateDomainNameCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1UpdateDomainNameCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-appsync/src/commands/index.ts b/clients/client-appsync/src/commands/index.ts
index d10cd88a194e..2827af421ce9 100644
--- a/clients/client-appsync/src/commands/index.ts
+++ b/clients/client-appsync/src/commands/index.ts
@@ -1,6 +1,8 @@
+export * from "./AssociateApiCommand";
export * from "./CreateApiCacheCommand";
export * from "./CreateApiKeyCommand";
export * from "./CreateDataSourceCommand";
+export * from "./CreateDomainNameCommand";
export * from "./CreateFunctionCommand";
export * from "./CreateGraphqlApiCommand";
export * from "./CreateResolverCommand";
@@ -8,13 +10,17 @@ export * from "./CreateTypeCommand";
export * from "./DeleteApiCacheCommand";
export * from "./DeleteApiKeyCommand";
export * from "./DeleteDataSourceCommand";
+export * from "./DeleteDomainNameCommand";
export * from "./DeleteFunctionCommand";
export * from "./DeleteGraphqlApiCommand";
export * from "./DeleteResolverCommand";
export * from "./DeleteTypeCommand";
+export * from "./DisassociateApiCommand";
export * from "./FlushApiCacheCommand";
+export * from "./GetApiAssociationCommand";
export * from "./GetApiCacheCommand";
export * from "./GetDataSourceCommand";
+export * from "./GetDomainNameCommand";
export * from "./GetFunctionCommand";
export * from "./GetGraphqlApiCommand";
export * from "./GetIntrospectionSchemaCommand";
@@ -23,6 +29,7 @@ export * from "./GetSchemaCreationStatusCommand";
export * from "./GetTypeCommand";
export * from "./ListApiKeysCommand";
export * from "./ListDataSourcesCommand";
+export * from "./ListDomainNamesCommand";
export * from "./ListFunctionsCommand";
export * from "./ListGraphqlApisCommand";
export * from "./ListResolversByFunctionCommand";
@@ -35,6 +42,7 @@ export * from "./UntagResourceCommand";
export * from "./UpdateApiCacheCommand";
export * from "./UpdateApiKeyCommand";
export * from "./UpdateDataSourceCommand";
+export * from "./UpdateDomainNameCommand";
export * from "./UpdateFunctionCommand";
export * from "./UpdateGraphqlApiCommand";
export * from "./UpdateResolverCommand";
diff --git a/clients/client-appsync/src/endpoints.ts b/clients/client-appsync/src/endpoints.ts
index e5b91eadf6ed..5fa1f1bbbec4 100644
--- a/clients/client-appsync/src/endpoints.ts
+++ b/clients/client-appsync/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-appsync/src/models/models_0.ts b/clients/client-appsync/src/models/models_0.ts
index 804624bcd11b..f62cfc9da1c5 100644
--- a/clients/client-appsync/src/models/models_0.ts
+++ b/clients/client-appsync/src/models/models_0.ts
@@ -1,7 +1,7 @@
import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types";
/**
- * You do not have access to perform this operation on this resource.
+ * You don't have access to perform this operation on this resource.
*/
export interface AccessDeniedException extends __SmithyException, $MetadataBearer {
name: "AccessDeniedException";
@@ -27,25 +27,28 @@ export enum AuthenticationType {
}
/**
- * A LambdaAuthorizerConfig
holds configuration on how to authorize AppSync
- * API access when using the AWS_LAMBDA
authorizer mode. Be aware that an AppSync
- * API may have only one Lambda authorizer configured at a time.
+ * A LambdaAuthorizerConfig
specifies how to authorize AppSync
+ * API access when using the AWS_LAMBDA
authorizer mode. Be aware that an AppSync API can have only one Lambda authorizer configured at a
+ * time.
*/
export interface LambdaAuthorizerConfig {
/**
* The number of seconds a response should be cached for. The default is 5 minutes (300
- * seconds). The Lambda function can override this by returning a ttlOverride
key
- * in its response. A value of 0 disables caching of responses.
+ * seconds). The Lambda function can override this by returning a
+ * ttlOverride
key in its response. A value of 0 disables caching of
+ * responses.
*/
authorizerResultTtlInSeconds?: number;
/**
- * The ARN of the Lambda function to be called for authorization. This may be a standard
- * Lambda ARN, a version ARN (.../v3
) or alias ARN.
+ * The Amazon Resource Name (ARN) of the Lambda function to be called for
+ * authorization. This can be a standard Lambda ARN, a version ARN
+ * (.../v3
), or an alias ARN.
*
- * Note: This Lambda function must have the following resource-based
- * policy assigned to it. When configuring Lambda authorizers in the Console, this is done for
- * you. To do so with the Amazon Web Services CLI, run the following:
+ * Note: This Lambda function must have the
+ * following resource-based policy assigned to it. When configuring Lambda
+ * authorizers in the console, this is done for you. To use the Command Line Interface
+ * (CLI), run the following:
*
* aws lambda add-permission --function-name
* "arn:aws:lambda:us-east-2:111122223333:function:my-function" --statement-id "appsync"
@@ -71,30 +74,30 @@ export namespace LambdaAuthorizerConfig {
}
/**
- * Describes an OpenID Connect configuration.
+ * Describes an OpenID Connect (OIDC) configuration.
*/
export interface OpenIDConnectConfig {
/**
- * The issuer for the OpenID Connect configuration. The issuer returned by discovery must
- * exactly match the value of iss
in the ID token.
+ * The issuer for the OIDC configuration. The issuer returned by discovery must exactly
+ * match the value of iss
in the ID token.
*/
issuer: string | undefined;
/**
- * The client identifier of the Relying party at the OpenID identity provider. This
- * identifier is typically obtained when the Relying party is registered with the OpenID
- * identity provider. You can specify a regular expression so the AppSync can
+ *
The client identifier of the relying party at the OpenID identity provider. This
+ * identifier is typically obtained when the relying party is registered with the OpenID
+ * identity provider. You can specify a regular expression so that AppSync can
* validate against multiple client identifiers at a time.
*/
clientId?: string;
/**
- * The number of milliseconds a token is valid after being issued to a user.
+ * The number of milliseconds that a token is valid after it's issued to a user.
*/
iatTTL?: number;
/**
- * The number of milliseconds a token is valid after being authenticated.
+ * The number of milliseconds that a token is valid after being authenticated.
*/
authTTL?: number;
}
@@ -143,13 +146,13 @@ export namespace CognitoUserPoolConfig {
*/
export interface AdditionalAuthenticationProvider {
/**
- * The authentication type: API key, Identity and Access Management, OIDC, Amazon Cognito user
- * pools, or Amazon Web Services Lambda.
+ * The authentication type: API key, Identity and Access Management (IAM), OpenID
+ * Connect (OIDC), Amazon Cognito user pools, or Lambda.
*/
authenticationType?: AuthenticationType | string;
/**
- * The OpenID Connect configuration.
+ * The OIDC configuration.
*/
openIDConnectConfig?: OpenIDConnectConfig;
@@ -159,7 +162,7 @@ export interface AdditionalAuthenticationProvider {
userPoolConfig?: CognitoUserPoolConfig;
/**
- * Configuration for Amazon Web Services Lambda function authorization.
+ * Configuration for Lambda function authorization.
*/
lambdaAuthorizerConfig?: LambdaAuthorizerConfig;
}
@@ -173,6 +176,63 @@ export namespace AdditionalAuthenticationProvider {
});
}
+export enum AssociationStatus {
+ Failed = "FAILED",
+ Processing = "PROCESSING",
+ Success = "SUCCESS",
+}
+
+/**
+ * Describes an ApiAssociation
object.
+ */
+export interface ApiAssociation {
+ /**
+ * The domain name.
+ */
+ domainName?: string;
+
+ /**
+ * The API ID.
+ */
+ apiId?: string;
+
+ /**
+ * Identifies the status of an association.
+ *
+ * -
+ *
+ * PROCESSING: The API association is being
+ * created. You cannot modify association requests during processing.
+ *
+ * -
+ *
+ * SUCCESS: The API association was successful.
+ * You can modify associations after success.
+ *
+ * -
+ *
+ * FAILED: The API association has failed. You
+ * can modify associations after failure.
+ *
+ *
+ */
+ associationStatus?: AssociationStatus | string;
+
+ /**
+ * Details about the last deployment status.
+ */
+ deploymentDetail?: string;
+}
+
+export namespace ApiAssociation {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ApiAssociation): any => ({
+ ...obj,
+ });
+}
+
export enum ApiCachingBehavior {
FULL_REQUEST_CACHING = "FULL_REQUEST_CACHING",
PER_RESOLVER_CACHING = "PER_RESOLVER_CACHING",
@@ -210,7 +270,7 @@ export enum ApiCacheType {
export interface ApiCache {
/**
* TTL in seconds for cache entries.
- * Valid values are between 1 and 3600 seconds.
+ * Valid values are 1–3,600 seconds.
*/
ttl?: number;
@@ -232,13 +292,13 @@ export interface ApiCache {
apiCachingBehavior?: ApiCachingBehavior | string;
/**
- * Transit encryption flag when connecting to cache. This setting cannot be updated after
+ *
Transit encryption flag when connecting to cache. You cannot update this setting after
* creation.
*/
transitEncryptionEnabled?: boolean;
/**
- * At rest encryption flag for cache. This setting cannot be updated after creation.
+ * At-rest encryption flag for cache. You cannot update this setting after creation.
*/
atRestEncryptionEnabled?: boolean;
@@ -367,10 +427,10 @@ export namespace ApiCache {
* Customers invoke AppSync GraphQL API operations with API keys as an
* identity mechanism. There are two key versions:
*
- * da1: This version was introduced at launch in November
- * 2017. These keys always expire after 7 days. Key expiration is managed by Amazon DynamoDB
- * TTL. The keys ceased to be valid after February 21, 2018 and should not be used after that
- * date.
+ * da1: We introduced this version at launch in November
+ * 2017. These keys always expire after 7 days. Amazon DynamoDB TTL manages key
+ * expiration. These keys ceased to be valid after February 21, 2018, and they should no
+ * longer be used.
*
* -
*
@@ -390,15 +450,15 @@ export namespace ApiCache {
* DeleteApiKey
deletes the item from the table.
*
* -
- *
Expiration is stored in Amazon DynamoDB as milliseconds. This results in a bug
- * where keys are not automatically deleted because DynamoDB expects the TTL to be
- * stored in seconds. As a one-time action, we will delete these keys from the table
- * after February 21, 2018.
+ * Expiration is stored in DynamoDB as milliseconds. This results in a
+ * bug where keys are not automatically deleted because DynamoDB expects the
+ * TTL to be stored in seconds. As a one-time action, we deleted these keys from the
+ * table on February 21, 2018.
*
*
*
- * da2: This version was introduced in February 2018 when
- * AppSync added support to extend key expiration.
+ * da2: We introduced this version in February 2018 when
+ * AppSync added support to extend key expiration.
*
* -
*
@@ -414,21 +474,21 @@ export namespace ApiCache {
*
* UpdateApiKey
returns the expiration time and and deletion time in
* seconds and accepts a user-provided expiration time in seconds. Expired API keys are
- * kept for 60 days after the expiration time. Key expiration time can be updated while
- * the key is not deleted.
+ * kept for 60 days after the expiration time. You can update the key expiration time as
+ * long as the key isn't deleted.
*
* -
*
* DeleteApiKey
deletes the item from the table.
*
* -
- *
Expiration is stored in Amazon DynamoDB as seconds. After the expiration time,
- * using the key to authenticate will fail. But the key can be reinstated before
- * deletion.
+ * Expiration is stored in DynamoDB as seconds. After the expiration
+ * time, using the key to authenticate will fail. However, you can reinstate the key
+ * before deletion.
*
* -
- *
Deletion is stored in Amazon DynamoDB as seconds. The key will be deleted after
- * deletion time.
+ * Deletion is stored in DynamoDB as seconds. The key is deleted after
+ * deletion time.
*
*
*/
@@ -520,21 +580,114 @@ export namespace ApiLimitExceededException {
});
}
+export interface AssociateApiRequest {
+ /**
+ * The domain name.
+ */
+ domainName: string | undefined;
+
+ /**
+ * The API ID.
+ */
+ apiId: string | undefined;
+}
+
+export namespace AssociateApiRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: AssociateApiRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface AssociateApiResponse {
+ /**
+ * The ApiAssociation
object.
+ */
+ apiAssociation?: ApiAssociation;
+}
+
+export namespace AssociateApiResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: AssociateApiResponse): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * The request is not well formed. For example, a value is invalid or a required field is
+ * missing. Check the field values, and then try again.
+ */
+export interface BadRequestException extends __SmithyException, $MetadataBearer {
+ name: "BadRequestException";
+ $fault: "client";
+ message?: string;
+}
+
+export namespace BadRequestException {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: BadRequestException): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * An internal AppSync error occurred. Try your request again.
+ */
+export interface InternalFailureException extends __SmithyException, $MetadataBearer {
+ name: "InternalFailureException";
+ $fault: "server";
+ message?: string;
+}
+
+export namespace InternalFailureException {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: InternalFailureException): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * The resource specified in the request was not found. Check the resource, and then try
+ * again.
+ */
+export interface NotFoundException extends __SmithyException, $MetadataBearer {
+ name: "NotFoundException";
+ $fault: "client";
+ message?: string;
+}
+
+export namespace NotFoundException {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: NotFoundException): any => ({
+ ...obj,
+ });
+}
+
export enum AuthorizationType {
AWS_IAM = "AWS_IAM",
}
/**
- * The Identity and Access Management configuration.
+ * The Identity and Access Management (IAM) configuration.
*/
export interface AwsIamConfig {
/**
- * The signing region for Identity and Access Management authorization.
+ * The signing Amazon Web Services Region for IAM authorization.
*/
signingRegion?: string;
/**
- * The signing service name for Identity and Access Management authorization.
+ * The signing service name for IAM authorization.
*/
signingServiceName?: string;
}
@@ -549,23 +702,23 @@ export namespace AwsIamConfig {
}
/**
- * The authorization config in case the HTTP endpoint requires authorization.
+ * The authorization configuration in case the HTTP endpoint requires authorization.
*/
export interface AuthorizationConfig {
/**
- * The authorization type required by the HTTP endpoint.
+ * The authorization type that the HTTP endpoint requires.
*
*/
authorizationType: AuthorizationType | string | undefined;
/**
- * The Identity and Access Management settings.
+ * The Identity and Access Management (IAM) settings.
*/
awsIamConfig?: AwsIamConfig;
}
@@ -579,28 +732,9 @@ export namespace AuthorizationConfig {
});
}
-/**
- * The request is not well formed. For example, a value is invalid or a required field is
- * missing. Check the field values, and then try again.
- */
-export interface BadRequestException extends __SmithyException, $MetadataBearer {
- name: "BadRequestException";
- $fault: "client";
- message?: string;
-}
-
-export namespace BadRequestException {
- /**
- * @internal
- */
- export const filterSensitiveLog = (obj: BadRequestException): any => ({
- ...obj,
- });
-}
-
/**
* Another modification is in progress at this time and it must complete before you can
- * make your change.
+ * make your change.
*/
export interface ConcurrentModificationException extends __SmithyException, $MetadataBearer {
name: "ConcurrentModificationException";
@@ -622,24 +756,24 @@ export namespace ConcurrentModificationException {
*/
export interface CreateApiCacheRequest {
/**
- * The GraphQL API Id.
+ * The GraphQL API ID.
*/
apiId: string | undefined;
/**
* TTL in seconds for cache entries.
- * Valid values are between 1 and 3600 seconds.
+ * Valid values are 1–3,600 seconds.
*/
ttl: number | undefined;
/**
- * Transit encryption flag when connecting to cache. This setting cannot be updated after
+ *
Transit encryption flag when connecting to cache. You cannot update this setting after
* creation.
*/
transitEncryptionEnabled?: boolean;
/**
- * At rest encryption flag for cache. This setting cannot be updated after creation.
+ * At-rest encryption flag for cache. You cannot update this setting after creation.
*/
atRestEncryptionEnabled?: boolean;
@@ -768,44 +902,7 @@ export namespace CreateApiCacheResponse {
}
/**
- * An internal AppSync error occurred. Try your request again.
- */
-export interface InternalFailureException extends __SmithyException, $MetadataBearer {
- name: "InternalFailureException";
- $fault: "server";
- message?: string;
-}
-
-export namespace InternalFailureException {
- /**
- * @internal
- */
- export const filterSensitiveLog = (obj: InternalFailureException): any => ({
- ...obj,
- });
-}
-
-/**
- * The resource specified in the request was not found. Check the resource, and then try
- * again.
- */
-export interface NotFoundException extends __SmithyException, $MetadataBearer {
- name: "NotFoundException";
- $fault: "client";
- message?: string;
-}
-
-export namespace NotFoundException {
- /**
- * @internal
- */
- export const filterSensitiveLog = (obj: NotFoundException): any => ({
- ...obj,
- });
-}
-
-/**
- * You are not authorized to perform this operation.
+ * You aren't authorized to perform this operation.
*/
export interface UnauthorizedException extends __SmithyException, $MetadataBearer {
name: "UnauthorizedException";
@@ -834,9 +931,9 @@ export interface CreateApiKeyRequest {
description?: string;
/**
- * The time from creation time after which the API key expires. The date is represented as
- * seconds since the epoch, rounded down to the nearest hour. The default value for this
- * parameter is 7 days from creation time. For more information, see .
+ * From the creation time, the time after which the API key expires. The date is
+ * represented as seconds since the epoch, rounded down to the nearest hour. The default value
+ * for this parameter is 7 days from creation time. For more information, see .
*/
expires?: number;
}
@@ -889,7 +986,7 @@ export namespace LimitExceededException {
*/
export interface DeltaSyncConfig {
/**
- * The number of minutes an Item is stored in the datasource.
+ * The number of minutes that an Item is stored in the data source.
*/
baseTableTTL?: number;
@@ -899,7 +996,8 @@ export interface DeltaSyncConfig {
deltaSyncTableName?: string;
/**
- * The number of minutes a Delta Sync log entry is stored in the Delta Sync table.
+ * The number of minutes that a Delta Sync log entry is stored in the Delta Sync
+ * table.
*/
deltaSyncTableTTL?: number;
}
@@ -933,7 +1031,7 @@ export interface DynamodbDataSourceConfig {
useCallerCredentials?: boolean;
/**
- * The DeltaSyncConfig
for a versioned datasource.
+ * The DeltaSyncConfig
for a versioned data source.
*/
deltaSyncConfig?: DeltaSyncConfig;
@@ -984,15 +1082,15 @@ export namespace ElasticsearchDataSourceConfig {
*/
export interface HttpDataSourceConfig {
/**
- * The HTTP URL endpoint. You can either specify the domain name or IP, and port
- * combination, and the URL scheme must be HTTP or HTTPS. If the port is not specified,
+ *
The HTTP URL endpoint. You can specify either the domain name or IP, and port
+ * combination, and the URL scheme must be HTTP or HTTPS. If you don't specify the port,
* AppSync uses the default port 80 for the HTTP endpoint and port 443 for
* HTTPS endpoints.
*/
endpoint?: string;
/**
- * The authorization config in case the HTTP endpoint requires authorization.
+ * The authorization configuration in case the HTTP endpoint requires authorization.
*/
authorizationConfig?: AuthorizationConfig;
}
@@ -1007,11 +1105,11 @@ export namespace HttpDataSourceConfig {
}
/**
- * Describes an Amazon Web Services Lambda data source configuration.
+ * Describes an Lambda data source configuration.
*/
export interface LambdaDataSourceConfig {
/**
- * The ARN for the Lambda function.
+ * The Amazon Resource Name (ARN) for the Lambda function.
*/
lambdaFunctionArn: string | undefined;
}
@@ -1050,16 +1148,16 @@ export namespace OpenSearchServiceDataSourceConfig {
}
/**
- * The Amazon RDS HTTP endpoint configuration.
+ * The Amazon Relational Database Service (Amazon RDS) HTTP endpoint configuration.
*/
export interface RdsHttpEndpointConfig {
/**
- * Amazon Web Services Region for RDS HTTP endpoint.
+ * Amazon Web Services Region for Amazon RDS HTTP endpoint.
*/
awsRegion?: string;
/**
- * Amazon RDS cluster ARN.
+ * Amazon RDS cluster Amazon Resource Name (ARN).
*/
dbClusterIdentifier?: string;
@@ -1074,7 +1172,8 @@ export interface RdsHttpEndpointConfig {
schema?: string;
/**
- * Amazon Web Services secret store ARN for database credentials.
+ * Amazon Web Services secret store Amazon Resource Name (ARN) for database
+ * credentials.
*/
awsSecretStoreArn?: string;
}
@@ -1102,7 +1201,8 @@ export interface RelationalDatabaseDataSourceConfig {
*
*
* RDS_HTTP_ENDPOINT: The relational database
- * source type is an Amazon RDS HTTP endpoint.
+ * source type is an Amazon Relational Database Service (Amazon RDS) HTTP
+ * endpoint.
*
*
*/
@@ -1155,8 +1255,8 @@ export interface CreateDataSourceRequest {
type: DataSourceType | string | undefined;
/**
- * The Identity and Access Management service role ARN for the data source. The system assumes this
- * role when accessing the data source.
+ * The Identity and Access Management (IAM) service role Amazon Resource Name (ARN)
+ * for the data source. The system assumes this role when accessing the data source.
*/
serviceRoleArn?: string;
@@ -1166,7 +1266,7 @@ export interface CreateDataSourceRequest {
dynamodbConfig?: DynamodbDataSourceConfig;
/**
- * Amazon Web Services Lambda settings.
+ * Lambda settings.
*/
lambdaConfig?: LambdaDataSourceConfig;
@@ -1207,7 +1307,7 @@ export namespace CreateDataSourceRequest {
*/
export interface DataSource {
/**
- * The data source ARN.
+ * The data source Amazon Resource Name (ARN).
*/
dataSourceArn?: string;
@@ -1226,12 +1326,11 @@ export interface DataSource {
*
* -
*
- * AWS_LAMBDA: The data source is an Amazon Web Services Lambda function.
+ * AWS_LAMBDA: The data source is an Lambda function.
*
* -
*
- * AMAZON_DYNAMODB: The data source is an Amazon
- * DynamoDB table.
+ * AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.
*
* -
*
@@ -1245,10 +1344,10 @@ export interface DataSource {
*
* -
*
- * NONE: There is no data source. This type is
- * used when you wish to invoke a GraphQL operation without connecting to a data source,
- * such as performing data transformation with resolvers or triggering a subscription to
- * be invoked from a mutation.
+ * NONE: There is no data source. Use this type
+ * when you want to invoke a GraphQL operation without connecting to a data source, such
+ * as when you're performing data transformation with resolvers or invoking a
+ * subscription from a mutation.
*
* -
*
@@ -1265,18 +1364,18 @@ export interface DataSource {
type?: DataSourceType | string;
/**
- *
The Identity and Access Management service role ARN for the data source. The system assumes this
- * role when accessing the data source.
+ * The Identity and Access Management (IAM) service role Amazon Resource Name (ARN)
+ * for the data source. The system assumes this role when accessing the data source.
*/
serviceRoleArn?: string;
/**
- * Amazon DynamoDB settings.
+ * DynamoDB settings.
*/
dynamodbConfig?: DynamodbDataSourceConfig;
/**
- * Amazon Web Services Lambda settings.
+ * Lambda settings.
*/
lambdaConfig?: LambdaDataSourceConfig;
@@ -1326,6 +1425,91 @@ export namespace CreateDataSourceResponse {
});
}
+export interface CreateDomainNameRequest {
+ /**
+ * The domain name.
+ */
+ domainName: string | undefined;
+
+ /**
+ * The Amazon Resource Name (ARN) of the certificate. This can be an Certificate Manager
+ * (ACM) certificate or an Identity and Access Management (IAM)
+ * server certificate.
+ */
+ certificateArn: string | undefined;
+
+ /**
+ * A description of the DomainName
.
+ */
+ description?: string;
+}
+
+export namespace CreateDomainNameRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateDomainNameRequest): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Describes a configuration for a custom domain.
+ */
+export interface DomainNameConfig {
+ /**
+ * The domain name.
+ */
+ domainName?: string;
+
+ /**
+ * A description of the DomainName
configuration.
+ */
+ description?: string;
+
+ /**
+ * The Amazon Resource Name (ARN) of the certificate. This can be an Certificate Manager
+ * (ACM) certificate or an Identity and Access Management (IAM)
+ * server certificate.
+ */
+ certificateArn?: string;
+
+ /**
+ * The domain name that AppSync provides.
+ */
+ appsyncDomainName?: string;
+
+ /**
+ * The ID of your Amazon Route 53 hosted zone.
+ */
+ hostedZoneId?: string;
+}
+
+export namespace DomainNameConfig {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DomainNameConfig): any => ({
+ ...obj,
+ });
+}
+
+export interface CreateDomainNameResponse {
+ /**
+ * The configuration for the DomainName
.
+ */
+ domainNameConfig?: DomainNameConfig;
+}
+
+export namespace CreateDomainNameResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateDomainNameResponse): any => ({
+ ...obj,
+ });
+}
+
export enum ConflictDetectionType {
NONE = "NONE",
VERSION = "VERSION",
@@ -1339,12 +1523,13 @@ export enum ConflictHandlerType {
}
/**
- * The LambdaConflictHandlerConfig
object when configuring LAMBDA as the
- * Conflict Handler.
+ * The LambdaConflictHandlerConfig
object when configuring LAMBDA
+ * as the Conflict Handler.
*/
export interface LambdaConflictHandlerConfig {
/**
- * The Arn for the Lambda function to use as the Conflict Handler.
+ * The Amazon Resource Name (ARN) for the Lambda function to use as the
+ * Conflict Handler.
*/
lambdaConflictHandlerArn?: string;
}
@@ -1360,8 +1545,8 @@ export namespace LambdaConflictHandlerConfig {
/**
* Describes a Sync configuration for a resolver.
- * Contains information on which Conflict Detection as well as Resolution strategy should
- * be performed when the resolver is invoked.
+ * Specifies which Conflict Detection strategy and Resolution strategy to use when the
+ * resolver is invoked.
*/
export interface SyncConfig {
/**
@@ -1370,7 +1555,7 @@ export interface SyncConfig {
* -
*
* OPTIMISTIC_CONCURRENCY: Resolve conflicts by
- * rejecting mutations when versions do not match the latest version at the
+ * rejecting mutations when versions don't match the latest version at the
* server.
*
* -
@@ -1380,8 +1565,8 @@ export interface SyncConfig {
*
* -
*
- * LAMBDA: Resolve conflicts with a Lambda
- * function supplied in the LambdaConflictHandlerConfig.
+ * LAMBDA: Resolve conflicts with an Lambda function supplied in the
+ * LambdaConflictHandlerConfig
.
*
*
*/
@@ -1397,7 +1582,7 @@ export interface SyncConfig {
*
*
*
- * NONE: Do not detect conflicts when executing
+ * NONE: Do not detect conflicts when invoking
* this resolver.
*
*
@@ -1405,8 +1590,8 @@ export interface SyncConfig {
conflictDetection?: ConflictDetectionType | string;
/**
- * The LambdaConflictHandlerConfig
when configuring LAMBDA as the Conflict
- * Handler.
+ * The LambdaConflictHandlerConfig
when configuring LAMBDA
as the
+ * Conflict Handler.
*/
lambdaConflictHandlerConfig?: LambdaConflictHandlerConfig;
}
@@ -1449,20 +1634,20 @@ export interface CreateFunctionRequest {
requestMappingTemplate?: string;
/**
- * The Function
response mapping template.
+ * The Function
response mapping template.
*/
responseMappingTemplate?: string;
/**
- * The version
of the request mapping template. Currently the supported value
- * is 2018-05-29.
+ * The version
of the request mapping template. Currently, the supported value
+ * is 2018-05-29.
*/
functionVersion: string | undefined;
/**
* Describes a Sync configuration for a resolver.
- * Contains information on which Conflict Detection as well as Resolution strategy should
- * be performed when the resolver is invoked.
+ * Specifies which Conflict Detection strategy and Resolution strategy to use when the
+ * resolver is invoked.
*/
syncConfig?: SyncConfig;
}
@@ -1477,7 +1662,7 @@ export namespace CreateFunctionRequest {
}
/**
- * A function is a reusable entity. Multiple functions can be used to compose the resolver
+ *
A function is a reusable entity. You can use multiple functions to compose the resolver
* logic.
*/
export interface FunctionConfiguration {
@@ -1487,7 +1672,7 @@ export interface FunctionConfiguration {
functionId?: string;
/**
- * The ARN of the Function
object.
+ * The Amazon Resource Name (ARN) of the Function
object.
*/
functionArn?: string;
@@ -1518,15 +1703,15 @@ export interface FunctionConfiguration {
responseMappingTemplate?: string;
/**
- * The version of the request mapping template. Currently only the 2018-05-29 version of
+ *
The version of the request mapping template. Currently, only the 2018-05-29 version of
* the template is supported.
*/
functionVersion?: string;
/**
* Describes a Sync configuration for a resolver.
- * Contains information on which Conflict Detection as well as Resolution strategy should
- * be performed when the resolver is invoked.
+ * Specifies which Conflict Detection strategy and Resolution strategy to use when the
+ * resolver is invoked.
*/
syncConfig?: SyncConfig;
}
@@ -1563,11 +1748,11 @@ export enum FieldLogLevel {
}
/**
- * The CloudWatch Logs configuration.
+ * The Amazon CloudWatch Logs configuration.
*/
export interface LogConfig {
/**
- * The field logging level. Values can be NONE, ERROR, or ALL.
+ * The field logging level. Values can be NONE, ERROR, or ALL.
*
* -
*
@@ -1610,8 +1795,8 @@ export interface LogConfig {
fieldLogLevel: FieldLogLevel | string | undefined;
/**
- *
The service role that AppSync will assume to publish to Amazon
- * CloudWatch logs in your account.
+ * The service role that AppSync assumes to publish to CloudWatch
+ * logs in your account.
*/
cloudWatchLogsRoleArn: string | undefined;
@@ -1651,8 +1836,7 @@ export interface UserPoolConfig {
awsRegion: string | undefined;
/**
- * The action that you want your GraphQL API to take when a request that uses Amazon
- * Cognito user pool authentication doesn't match the Amazon Cognito user pool
+ *
The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool
* configuration.
*/
defaultAction: DefaultAction | string | undefined;
@@ -1685,8 +1869,8 @@ export interface CreateGraphqlApiRequest {
logConfig?: LogConfig;
/**
- * The authentication type: API key, Identity and Access Management, OIDC, Amazon Cognito user
- * pools, or Amazon Web Services Lambda.
+ * The authentication type: API key, Identity and Access Management (IAM), OpenID
+ * Connect (OIDC), Amazon Cognito user pools, or Lambda.
*/
authenticationType: AuthenticationType | string | undefined;
@@ -1696,7 +1880,7 @@ export interface CreateGraphqlApiRequest {
userPoolConfig?: UserPoolConfig;
/**
- * The OpenID Connect configuration.
+ * The OIDC configuration.
*/
openIDConnectConfig?: OpenIDConnectConfig;
@@ -1712,13 +1896,13 @@ export interface CreateGraphqlApiRequest {
additionalAuthenticationProviders?: AdditionalAuthenticationProvider[];
/**
- * A flag indicating whether to enable X-Ray tracing for the
- * GraphqlApi
.
+ * A flag indicating whether to use X-Ray tracing for the
+ * GraphqlApi
.
*/
xrayEnabled?: boolean;
/**
- * Configuration for Amazon Web Services Lambda function authorization.
+ * Configuration for Lambda function authorization.
*/
lambdaAuthorizerConfig?: LambdaAuthorizerConfig;
}
@@ -1767,7 +1951,7 @@ export interface GraphqlApi {
openIDConnectConfig?: OpenIDConnectConfig;
/**
- * The ARN.
+ * The Amazon Resource Name (ARN).
*/
arn?: string;
@@ -1788,19 +1972,19 @@ export interface GraphqlApi {
additionalAuthenticationProviders?: AdditionalAuthenticationProvider[];
/**
- * A flag representing whether X-Ray tracing is enabled for this
- * GraphqlApi
.
+ * A flag indicating whether to use X-Ray tracing for this
+ * GraphqlApi
.
*/
xrayEnabled?: boolean;
/**
- * The ARN of the WAF ACL associated with this GraphqlApi
,
- * if one exists.
+ * The ARN of the WAF access control list (ACL) associated with this
+ * GraphqlApi
, if one exists.
*/
wafWebAclArn?: string;
/**
- * Configuration for Amazon Web Services Lambda function authorization.
+ * Configuration for Lambda function authorization.
*/
lambdaAuthorizerConfig?: LambdaAuthorizerConfig;
}
@@ -1831,17 +2015,17 @@ export namespace CreateGraphqlApiResponse {
}
/**
- * The caching configuration for a resolver that has caching enabled.
+ * The caching configuration for a resolver that has caching activated.
*/
export interface CachingConfig {
/**
- * The TTL in seconds for a resolver that has caching enabled.
- * Valid values are between 1 and 3600 seconds.
+ * The TTL in seconds for a resolver that has caching activated.
+ * Valid values are 1–3,600 seconds.
*/
ttl?: number;
/**
- * The caching keys for a resolver that has caching enabled.
+ * The caching keys for a resolver that has caching activated.
* Valid values are entries from the $context.arguments
,
* $context.source
, and $context.identity
maps.
*/
@@ -1903,17 +2087,18 @@ export interface CreateResolverRequest {
dataSourceName?: string;
/**
- * The mapping template to be used for requests.
+ * The mapping template to use for requests.
* A resolver uses a request mapping template to convert a GraphQL expression into a format
* that a data source can understand. Mapping templates are written in Apache Velocity
* Template Language (VTL).
- * VTL request mapping templates are optional when using a Lambda data source. For all
- * other data sources, VTL request and response mapping templates are required.
+ * VTL request mapping templates are optional when using an Lambda data
+ * source. For all other data sources, VTL request and response mapping templates are
+ * required.
*/
requestMappingTemplate?: string;
/**
- * The mapping template to be used for responses from the data source.
+ * The mapping template to use for responses from the data source.
*/
responseMappingTemplate?: string;
@@ -1923,15 +2108,15 @@ export interface CreateResolverRequest {
* -
*
* UNIT: A UNIT resolver type. A UNIT resolver is
- * the default resolver type. A UNIT resolver enables you to execute a GraphQL query
- * against a single data source.
+ * the default resolver type. You can use a UNIT resolver to run a GraphQL query against
+ * a single data source.
*
* -
*
- * PIPELINE: A PIPELINE resolver type. A PIPELINE
- * resolver enables you to execute a series of Function
in a serial manner.
- * You can use a pipeline resolver to execute a GraphQL query against multiple data
- * sources.
+ * PIPELINE: A PIPELINE resolver type. You can
+ * use a PIPELINE resolver to invoke a series of Function
objects in a
+ * serial manner. You can use a pipeline resolver to run a GraphQL query against
+ * multiple data sources.
*
*
*/
@@ -1943,7 +2128,7 @@ export interface CreateResolverRequest {
pipelineConfig?: PipelineConfig;
/**
- * The SyncConfig
for a resolver attached to a versioned datasource.
+ * The SyncConfig
for a resolver attached to a versioned data source.
*/
syncConfig?: SyncConfig;
@@ -1982,7 +2167,7 @@ export interface Resolver {
dataSourceName?: string;
/**
- * The resolver ARN.
+ * The resolver Amazon Resource Name (ARN).
*/
resolverArn?: string;
@@ -2002,15 +2187,15 @@ export interface Resolver {
*
*
* UNIT: A UNIT resolver type. A UNIT resolver is
- * the default resolver type. A UNIT resolver enables you to execute a GraphQL query
- * against a single data source.
+ * the default resolver type. You can use a UNIT resolver to run a GraphQL query against
+ * a single data source.
*
*
*
- * PIPELINE: A PIPELINE resolver type. A PIPELINE
- * resolver enables you to execute a series of Function
in a serial manner.
- * You can use a pipeline resolver to execute a GraphQL query against multiple data
- * sources.
+ * PIPELINE: A PIPELINE resolver type. You can
+ * use a PIPELINE resolver to invoke a series of Function
objects in a
+ * serial manner. You can use a pipeline resolver to run a GraphQL query against
+ * multiple data sources.
*
*
*/
@@ -2022,7 +2207,7 @@ export interface Resolver {
pipelineConfig?: PipelineConfig;
/**
- * The SyncConfig
for a resolver attached to a versioned datasource.
+ * The SyncConfig
for a resolver attached to a versioned data source.
*/
syncConfig?: SyncConfig;
@@ -2105,7 +2290,7 @@ export interface Type {
description?: string;
/**
- * The type ARN.
+ * The type Amazon Resource Name (ARN).
*/
arn?: string;
@@ -2242,6 +2427,33 @@ export namespace DeleteDataSourceResponse {
});
}
+export interface DeleteDomainNameRequest {
+ /**
+ * The domain name.
+ */
+ domainName: string | undefined;
+}
+
+export namespace DeleteDomainNameRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DeleteDomainNameRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface DeleteDomainNameResponse {}
+
+export namespace DeleteDomainNameResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DeleteDomainNameResponse): any => ({
+ ...obj,
+ });
+}
+
export interface DeleteFunctionRequest {
/**
* The GraphQL API ID.
@@ -2370,6 +2582,33 @@ export namespace DeleteTypeResponse {
});
}
+export interface DisassociateApiRequest {
+ /**
+ * The domain name.
+ */
+ domainName: string | undefined;
+}
+
+export namespace DisassociateApiRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DisassociateApiRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface DisassociateApiResponse {}
+
+export namespace DisassociateApiResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DisassociateApiResponse): any => ({
+ ...obj,
+ });
+}
+
/**
* Represents the input of a FlushApiCache
operation.
*/
@@ -2403,6 +2642,38 @@ export namespace FlushApiCacheResponse {
});
}
+export interface GetApiAssociationRequest {
+ /**
+ * The domain name.
+ */
+ domainName: string | undefined;
+}
+
+export namespace GetApiAssociationRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GetApiAssociationRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface GetApiAssociationResponse {
+ /**
+ * The ApiAssociation
object.
+ */
+ apiAssociation?: ApiAssociation;
+}
+
+export namespace GetApiAssociationResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GetApiAssociationResponse): any => ({
+ ...obj,
+ });
+}
+
/**
* Represents the input of a GetApiCache
operation.
*/
@@ -2478,6 +2749,38 @@ export namespace GetDataSourceResponse {
});
}
+export interface GetDomainNameRequest {
+ /**
+ * The domain name.
+ */
+ domainName: string | undefined;
+}
+
+export namespace GetDomainNameRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GetDomainNameRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface GetDomainNameResponse {
+ /**
+ * The configuration for the DomainName
.
+ */
+ domainNameConfig?: DomainNameConfig;
+}
+
+export namespace GetDomainNameResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GetDomainNameResponse): any => ({
+ ...obj,
+ });
+}
+
export interface GetFunctionRequest {
/**
* The GraphQL API ID.
@@ -2752,13 +3055,13 @@ export interface ListApiKeysRequest {
apiId: string | undefined;
/**
- * An identifier that was returned from the previous call to this operation, which can be
- * used to return the next set of items in the list.
+ * An identifier that was returned from the previous call to this operation, which you can
+ * use to return the next set of items in the list.
*/
nextToken?: string;
/**
- * The maximum number of results you want the request to return.
+ * The maximum number of results that you want the request to return.
*/
maxResults?: number;
}
@@ -2779,8 +3082,8 @@ export interface ListApiKeysResponse {
apiKeys?: ApiKey[];
/**
- * An identifier to be passed in the next request to this operation to return the next set
- * of items in the list.
+ * An identifier to pass in the next request to this operation to return the next set of
+ * items in the list.
*/
nextToken?: string;
}
@@ -2801,13 +3104,13 @@ export interface ListDataSourcesRequest {
apiId: string | undefined;
/**
- * An identifier that was returned from the previous call to this operation, which can be
- * used to return the next set of items in the list.
+ * An identifier that was returned from the previous call to this operation, which you can
+ * use to return the next set of items in the list.
*/
nextToken?: string;
/**
- * The maximum number of results you want the request to return.
+ * The maximum number of results that you want the request to return.
*/
maxResults?: number;
}
@@ -2828,8 +3131,8 @@ export interface ListDataSourcesResponse {
dataSources?: DataSource[];
/**
- * An identifier to be passed in the next request to this operation to return the next set
- * of items in the list.
+ * An identifier to pass in the next request to this operation to return the next set of
+ * items in the list.
*/
nextToken?: string;
}
@@ -2843,6 +3146,48 @@ export namespace ListDataSourcesResponse {
});
}
+export interface ListDomainNamesRequest {
+ /**
+ * The API token.
+ */
+ nextToken?: string;
+
+ /**
+ * The maximum number of results that you want the request to return.
+ */
+ maxResults?: number;
+}
+
+export namespace ListDomainNamesRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListDomainNamesRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface ListDomainNamesResponse {
+ /**
+ * Lists configurations for multiple domain names.
+ */
+ domainNameConfigs?: DomainNameConfig[];
+
+ /**
+ * The API token.
+ */
+ nextToken?: string;
+}
+
+export namespace ListDomainNamesResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListDomainNamesResponse): any => ({
+ ...obj,
+ });
+}
+
export interface ListFunctionsRequest {
/**
* The GraphQL API ID.
@@ -2850,13 +3195,13 @@ export interface ListFunctionsRequest {
apiId: string | undefined;
/**
- * An identifier that was returned from the previous call to this operation, which can be
- * used to return the next set of items in the list.
+ * An identifier that was returned from the previous call to this operation, which you can
+ * use to return the next set of items in the list.
*/
nextToken?: string;
/**
- * The maximum number of results you want the request to return.
+ * The maximum number of results that you want the request to return.
*/
maxResults?: number;
}
@@ -2877,8 +3222,8 @@ export interface ListFunctionsResponse {
functions?: FunctionConfiguration[];
/**
- * An identifier that was returned from the previous call to this operation, which can be
- * used to return the next set of items in the list.
+ * An identifier that was returned from the previous call to this operation, which you can
+ * use to return the next set of items in the list.
*/
nextToken?: string;
}
@@ -2894,13 +3239,13 @@ export namespace ListFunctionsResponse {
export interface ListGraphqlApisRequest {
/**
- * An identifier that was returned from the previous call to this operation, which can be
- * used to return the next set of items in the list.
+ * An identifier that was returned from the previous call to this operation, which you can
+ * use to return the next set of items in the list.
*/
nextToken?: string;
/**
- * The maximum number of results you want the request to return.
+ * The maximum number of results that you want the request to return.
*/
maxResults?: number;
}
@@ -2921,8 +3266,8 @@ export interface ListGraphqlApisResponse {
graphqlApis?: GraphqlApi[];
/**
- * An identifier to be passed in the next request to this operation to return the next set
- * of items in the list.
+ * An identifier to pass in the next request to this operation to return the next set of
+ * items in the list.
*/
nextToken?: string;
}
@@ -2948,13 +3293,13 @@ export interface ListResolversRequest {
typeName: string | undefined;
/**
- * An identifier that was returned from the previous call to this operation, which can be
- * used to return the next set of items in the list.
+ * An identifier that was returned from the previous call to this operation, which you can
+ * use to return the next set of items in the list.
*/
nextToken?: string;
/**
- * The maximum number of results you want the request to return.
+ * The maximum number of results that you want the request to return.
*/
maxResults?: number;
}
@@ -2975,8 +3320,8 @@ export interface ListResolversResponse {
resolvers?: Resolver[];
/**
- * An identifier to be passed in the next request to this operation to return the next set
- * of items in the list.
+ * An identifier to pass in the next request to this operation to return the next set of
+ * items in the list.
*/
nextToken?: string;
}
@@ -2997,7 +3342,7 @@ export interface ListResolversByFunctionRequest {
apiId: string | undefined;
/**
- * The Function ID.
+ * The function ID.
*/
functionId: string | undefined;
@@ -3008,7 +3353,7 @@ export interface ListResolversByFunctionRequest {
nextToken?: string;
/**
- * The maximum number of results you want the request to return.
+ * The maximum number of results that you want the request to return.
*/
maxResults?: number;
}
@@ -3029,7 +3374,7 @@ export interface ListResolversByFunctionResponse {
resolvers?: Resolver[];
/**
- * An identifier that can be used to return the next set of items in the list.
+ * An identifier that you can use to return the next set of items in the list.
*/
nextToken?: string;
}
@@ -3045,7 +3390,7 @@ export namespace ListResolversByFunctionResponse {
export interface ListTagsForResourceRequest {
/**
- * The GraphqlApi
ARN.
+ * The GraphqlApi
Amazon Resource Name (ARN).
*/
resourceArn: string | undefined;
}
@@ -3087,13 +3432,13 @@ export interface ListTypesRequest {
format: TypeDefinitionFormat | string | undefined;
/**
- * An identifier that was returned from the previous call to this operation, which can be
- * used to return the next set of items in the list.
+ * An identifier that was returned from the previous call to this operation, which you can
+ * use to return the next set of items in the list.
*/
nextToken?: string;
/**
- * The maximum number of results you want the request to return.
+ * The maximum number of results that you want the request to return.
*/
maxResults?: number;
}
@@ -3114,8 +3459,8 @@ export interface ListTypesResponse {
types?: Type[];
/**
- * An identifier to be passed in the next request to this operation to return the next set
- * of items in the list.
+ * An identifier to pass in the next request to this operation to return the next set of
+ * items in the list.
*/
nextToken?: string;
}
@@ -3169,7 +3514,7 @@ export namespace StartSchemaCreationResponse {
export interface TagResourceRequest {
/**
- * The GraphqlApi
ARN.
+ * The GraphqlApi
Amazon Resource Name (ARN).
*/
resourceArn: string | undefined;
@@ -3201,7 +3546,7 @@ export namespace TagResourceResponse {
export interface UntagResourceRequest {
/**
- * The GraphqlApi
ARN.
+ * The GraphqlApi
Amazon Resource Name (ARN).
*/
resourceArn: string | undefined;
@@ -3236,13 +3581,13 @@ export namespace UntagResourceResponse {
*/
export interface UpdateApiCacheRequest {
/**
- * The GraphQL API Id.
+ * The GraphQL API ID.
*/
apiId: string | undefined;
/**
* TTL in seconds for cache entries.
- * Valid values are between 1 and 3600 seconds.
+ * Valid values are 1–3,600 seconds.
*/
ttl: number | undefined;
@@ -3387,8 +3732,8 @@ export interface UpdateApiKeyRequest {
description?: string;
/**
- * The time from update time after which the API key expires. The date is represented as
- * seconds since the epoch. For more information, see .
+ * From the update time, the time after which the API key expires. The date is represented
+ * as seconds since the epoch. For more information, see .
*/
expires?: number;
}
@@ -3440,7 +3785,7 @@ export interface UpdateDataSourceRequest {
type: DataSourceType | string | undefined;
/**
- * The new service role ARN for the data source.
+ * The new service role Amazon Resource Name (ARN) for the data source.
*/
serviceRoleArn?: string;
@@ -3450,7 +3795,7 @@ export interface UpdateDataSourceRequest {
dynamodbConfig?: DynamodbDataSourceConfig;
/**
- * The new Amazon Web Services Lambda configuration.
+ * The new Lambda configuration.
*/
lambdaConfig?: LambdaDataSourceConfig;
@@ -3502,6 +3847,43 @@ export namespace UpdateDataSourceResponse {
});
}
+export interface UpdateDomainNameRequest {
+ /**
+ * The domain name.
+ */
+ domainName: string | undefined;
+
+ /**
+ * A description of the DomainName
.
+ */
+ description?: string;
+}
+
+export namespace UpdateDomainNameRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: UpdateDomainNameRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface UpdateDomainNameResponse {
+ /**
+ * The configuration for the DomainName
.
+ */
+ domainNameConfig?: DomainNameConfig;
+}
+
+export namespace UpdateDomainNameResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: UpdateDomainNameResponse): any => ({
+ ...obj,
+ });
+}
+
export interface UpdateFunctionRequest {
/**
* The GraphQL API ID.
@@ -3536,20 +3918,20 @@ export interface UpdateFunctionRequest {
requestMappingTemplate?: string;
/**
- * The Function
request mapping template.
+ * The Function
request mapping template.
*/
responseMappingTemplate?: string;
/**
- * The version
of the request mapping template. Currently the supported value
- * is 2018-05-29.
+ * The version
of the request mapping template. Currently, the supported value
+ * is 2018-05-29.
*/
functionVersion: string | undefined;
/**
* Describes a Sync configuration for a resolver.
- * Contains information on which Conflict Detection as well as Resolution strategy should
- * be performed when the resolver is invoked.
+ * Specifies which Conflict Detection strategy and Resolution strategy to use when the
+ * resolver is invoked.
*/
syncConfig?: SyncConfig;
}
@@ -3601,7 +3983,7 @@ export interface UpdateGraphqlApiRequest {
authenticationType?: AuthenticationType | string;
/**
- * The new Amazon Cognito user pool configuration for the GraphqlApi
+ *
The new Amazon Cognito user pool configuration for the ~GraphqlApi
* object.
*/
userPoolConfig?: UserPoolConfig;
@@ -3618,13 +4000,13 @@ export interface UpdateGraphqlApiRequest {
additionalAuthenticationProviders?: AdditionalAuthenticationProvider[];
/**
- * A flag indicating whether to enable X-Ray tracing for the
- * GraphqlApi
.
+ * A flag indicating whether to use X-Ray tracing for the
+ * GraphqlApi
.
*/
xrayEnabled?: boolean;
/**
- * Configuration for Amazon Web Services Lambda function authorization.
+ * Configuration for Lambda function authorization.
*/
lambdaAuthorizerConfig?: LambdaAuthorizerConfig;
}
@@ -3680,8 +4062,9 @@ export interface UpdateResolverRequest {
* A resolver uses a request mapping template to convert a GraphQL expression into a format
* that a data source can understand. Mapping templates are written in Apache Velocity
* Template Language (VTL).
- * VTL request mapping templates are optional when using a Lambda data source. For all
- * other data sources, VTL request and response mapping templates are required.
+ * VTL request mapping templates are optional when using an Lambda data
+ * source. For all other data sources, VTL request and response mapping templates are
+ * required.
*/
requestMappingTemplate?: string;
@@ -3696,15 +4079,15 @@ export interface UpdateResolverRequest {
*
*
* UNIT: A UNIT resolver type. A UNIT resolver is
- * the default resolver type. A UNIT resolver enables you to execute a GraphQL query
- * against a single data source.
+ * the default resolver type. You can use a UNIT resolver to run a GraphQL query against
+ * a single data source.
*
*
*
- * PIPELINE: A PIPELINE resolver type. A PIPELINE
- * resolver enables you to execute a series of Function
in a serial manner.
- * You can use a pipeline resolver to execute a GraphQL query against multiple data
- * sources.
+ * PIPELINE: A PIPELINE resolver type. You can
+ * use a PIPELINE resolver to invoke a series of Function
objects in a
+ * serial manner. You can use a pipeline resolver to run a GraphQL query against
+ * multiple data sources.
*
*
*/
@@ -3716,7 +4099,7 @@ export interface UpdateResolverRequest {
pipelineConfig?: PipelineConfig;
/**
- * The SyncConfig
for a resolver attached to a versioned datasource.
+ * The SyncConfig
for a resolver attached to a versioned data source.
*/
syncConfig?: SyncConfig;
diff --git a/clients/client-appsync/src/protocols/Aws_restJson1.ts b/clients/client-appsync/src/protocols/Aws_restJson1.ts
index 3b390f07804c..875df7aa1e95 100644
--- a/clients/client-appsync/src/protocols/Aws_restJson1.ts
+++ b/clients/client-appsync/src/protocols/Aws_restJson1.ts
@@ -16,9 +16,11 @@ import {
SmithyException as __SmithyException,
} from "@aws-sdk/types";
+import { AssociateApiCommandInput, AssociateApiCommandOutput } from "../commands/AssociateApiCommand";
import { CreateApiCacheCommandInput, CreateApiCacheCommandOutput } from "../commands/CreateApiCacheCommand";
import { CreateApiKeyCommandInput, CreateApiKeyCommandOutput } from "../commands/CreateApiKeyCommand";
import { CreateDataSourceCommandInput, CreateDataSourceCommandOutput } from "../commands/CreateDataSourceCommand";
+import { CreateDomainNameCommandInput, CreateDomainNameCommandOutput } from "../commands/CreateDomainNameCommand";
import { CreateFunctionCommandInput, CreateFunctionCommandOutput } from "../commands/CreateFunctionCommand";
import { CreateGraphqlApiCommandInput, CreateGraphqlApiCommandOutput } from "../commands/CreateGraphqlApiCommand";
import { CreateResolverCommandInput, CreateResolverCommandOutput } from "../commands/CreateResolverCommand";
@@ -26,13 +28,17 @@ import { CreateTypeCommandInput, CreateTypeCommandOutput } from "../commands/Cre
import { DeleteApiCacheCommandInput, DeleteApiCacheCommandOutput } from "../commands/DeleteApiCacheCommand";
import { DeleteApiKeyCommandInput, DeleteApiKeyCommandOutput } from "../commands/DeleteApiKeyCommand";
import { DeleteDataSourceCommandInput, DeleteDataSourceCommandOutput } from "../commands/DeleteDataSourceCommand";
+import { DeleteDomainNameCommandInput, DeleteDomainNameCommandOutput } from "../commands/DeleteDomainNameCommand";
import { DeleteFunctionCommandInput, DeleteFunctionCommandOutput } from "../commands/DeleteFunctionCommand";
import { DeleteGraphqlApiCommandInput, DeleteGraphqlApiCommandOutput } from "../commands/DeleteGraphqlApiCommand";
import { DeleteResolverCommandInput, DeleteResolverCommandOutput } from "../commands/DeleteResolverCommand";
import { DeleteTypeCommandInput, DeleteTypeCommandOutput } from "../commands/DeleteTypeCommand";
+import { DisassociateApiCommandInput, DisassociateApiCommandOutput } from "../commands/DisassociateApiCommand";
import { FlushApiCacheCommandInput, FlushApiCacheCommandOutput } from "../commands/FlushApiCacheCommand";
+import { GetApiAssociationCommandInput, GetApiAssociationCommandOutput } from "../commands/GetApiAssociationCommand";
import { GetApiCacheCommandInput, GetApiCacheCommandOutput } from "../commands/GetApiCacheCommand";
import { GetDataSourceCommandInput, GetDataSourceCommandOutput } from "../commands/GetDataSourceCommand";
+import { GetDomainNameCommandInput, GetDomainNameCommandOutput } from "../commands/GetDomainNameCommand";
import { GetFunctionCommandInput, GetFunctionCommandOutput } from "../commands/GetFunctionCommand";
import { GetGraphqlApiCommandInput, GetGraphqlApiCommandOutput } from "../commands/GetGraphqlApiCommand";
import {
@@ -47,6 +53,7 @@ import {
import { GetTypeCommandInput, GetTypeCommandOutput } from "../commands/GetTypeCommand";
import { ListApiKeysCommandInput, ListApiKeysCommandOutput } from "../commands/ListApiKeysCommand";
import { ListDataSourcesCommandInput, ListDataSourcesCommandOutput } from "../commands/ListDataSourcesCommand";
+import { ListDomainNamesCommandInput, ListDomainNamesCommandOutput } from "../commands/ListDomainNamesCommand";
import { ListFunctionsCommandInput, ListFunctionsCommandOutput } from "../commands/ListFunctionsCommand";
import { ListGraphqlApisCommandInput, ListGraphqlApisCommandOutput } from "../commands/ListGraphqlApisCommand";
import {
@@ -68,6 +75,7 @@ import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../comman
import { UpdateApiCacheCommandInput, UpdateApiCacheCommandOutput } from "../commands/UpdateApiCacheCommand";
import { UpdateApiKeyCommandInput, UpdateApiKeyCommandOutput } from "../commands/UpdateApiKeyCommand";
import { UpdateDataSourceCommandInput, UpdateDataSourceCommandOutput } from "../commands/UpdateDataSourceCommand";
+import { UpdateDomainNameCommandInput, UpdateDomainNameCommandOutput } from "../commands/UpdateDomainNameCommand";
import { UpdateFunctionCommandInput, UpdateFunctionCommandOutput } from "../commands/UpdateFunctionCommand";
import { UpdateGraphqlApiCommandInput, UpdateGraphqlApiCommandOutput } from "../commands/UpdateGraphqlApiCommand";
import { UpdateResolverCommandInput, UpdateResolverCommandOutput } from "../commands/UpdateResolverCommand";
@@ -75,6 +83,7 @@ import { UpdateTypeCommandInput, UpdateTypeCommandOutput } from "../commands/Upd
import {
AccessDeniedException,
AdditionalAuthenticationProvider,
+ ApiAssociation,
ApiCache,
ApiKey,
ApiKeyLimitExceededException,
@@ -88,6 +97,7 @@ import {
ConcurrentModificationException,
DataSource,
DeltaSyncConfig,
+ DomainNameConfig,
DynamodbDataSourceConfig,
ElasticsearchDataSourceConfig,
FunctionConfiguration,
@@ -113,6 +123,40 @@ import {
UserPoolConfig,
} from "../models/models_0";
+export const serializeAws_restJson1AssociateApiCommand = async (
+ input: AssociateApiCommandInput,
+ 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 || ""}` + "/domainnames/{domainName}/apiassociation";
+ if (input.domainName !== undefined) {
+ const labelValue: string = input.domainName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: domainName.");
+ }
+ resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: domainName.");
+ }
+ let body: any;
+ body = JSON.stringify({
+ ...(input.apiId !== undefined && input.apiId !== null && { apiId: input.apiId }),
+ });
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1CreateApiCacheCommand = async (
input: CreateApiCacheCommandInput,
context: __SerdeContext
@@ -256,6 +300,33 @@ export const serializeAws_restJson1CreateDataSourceCommand = async (
});
};
+export const serializeAws_restJson1CreateDomainNameCommand = async (
+ input: CreateDomainNameCommandInput,
+ 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 || ""}` + "/domainnames";
+ let body: any;
+ body = JSON.stringify({
+ ...(input.certificateArn !== undefined &&
+ input.certificateArn !== null && { certificateArn: input.certificateArn }),
+ ...(input.description !== undefined && input.description !== null && { description: input.description }),
+ ...(input.domainName !== undefined && input.domainName !== null && { domainName: input.domainName }),
+ });
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1CreateFunctionCommand = async (
input: CreateFunctionCommandInput,
context: __SerdeContext
@@ -550,6 +621,35 @@ export const serializeAws_restJson1DeleteDataSourceCommand = async (
});
};
+export const serializeAws_restJson1DeleteDomainNameCommand = async (
+ input: DeleteDomainNameCommandInput,
+ 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 || ""}` + "/domainnames/{domainName}";
+ if (input.domainName !== undefined) {
+ const labelValue: string = input.domainName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: domainName.");
+ }
+ resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: domainName.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "DELETE",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1DeleteFunctionCommand = async (
input: DeleteFunctionCommandInput,
context: __SerdeContext
@@ -702,6 +802,35 @@ export const serializeAws_restJson1DeleteTypeCommand = async (
});
};
+export const serializeAws_restJson1DisassociateApiCommand = async (
+ input: DisassociateApiCommandInput,
+ 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 || ""}` + "/domainnames/{domainName}/apiassociation";
+ if (input.domainName !== undefined) {
+ const labelValue: string = input.domainName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: domainName.");
+ }
+ resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: domainName.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "DELETE",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1FlushApiCacheCommand = async (
input: FlushApiCacheCommandInput,
context: __SerdeContext
@@ -731,6 +860,35 @@ export const serializeAws_restJson1FlushApiCacheCommand = async (
});
};
+export const serializeAws_restJson1GetApiAssociationCommand = async (
+ input: GetApiAssociationCommandInput,
+ 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 || ""}` + "/domainnames/{domainName}/apiassociation";
+ if (input.domainName !== undefined) {
+ const labelValue: string = input.domainName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: domainName.");
+ }
+ resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: domainName.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1GetApiCacheCommand = async (
input: GetApiCacheCommandInput,
context: __SerdeContext
@@ -798,6 +956,35 @@ export const serializeAws_restJson1GetDataSourceCommand = async (
});
};
+export const serializeAws_restJson1GetDomainNameCommand = async (
+ input: GetDomainNameCommandInput,
+ 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 || ""}` + "/domainnames/{domainName}";
+ if (input.domainName !== undefined) {
+ const labelValue: string = input.domainName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: domainName.");
+ }
+ resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: domainName.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1GetFunctionCommand = async (
input: GetFunctionCommandInput,
context: __SerdeContext
@@ -1083,6 +1270,30 @@ export const serializeAws_restJson1ListDataSourcesCommand = async (
});
};
+export const serializeAws_restJson1ListDomainNamesCommand = async (
+ input: ListDomainNamesCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {};
+ const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/domainnames";
+ const query: any = {
+ ...(input.nextToken !== undefined && { nextToken: input.nextToken }),
+ ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }),
+ };
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
export const serializeAws_restJson1ListFunctionsCommand = async (
input: ListFunctionsCommandInput,
context: __SerdeContext
@@ -1548,6 +1759,40 @@ export const serializeAws_restJson1UpdateDataSourceCommand = async (
});
};
+export const serializeAws_restJson1UpdateDomainNameCommand = async (
+ input: UpdateDomainNameCommandInput,
+ 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 || ""}` + "/domainnames/{domainName}";
+ if (input.domainName !== undefined) {
+ const labelValue: string = input.domainName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: domainName.");
+ }
+ resolvedPath = resolvedPath.replace("{domainName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: domainName.");
+ }
+ let body: any;
+ body = JSON.stringify({
+ ...(input.description !== undefined && input.description !== null && { description: input.description }),
+ });
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1UpdateFunctionCommand = async (
input: UpdateFunctionCommandInput,
context: __SerdeContext
@@ -1772,6 +2017,85 @@ export const serializeAws_restJson1UpdateTypeCommand = async (
});
};
+export const deserializeAws_restJson1AssociateApiCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1AssociateApiCommandError(output, context);
+ }
+ const contents: AssociateApiCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ apiAssociation: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.apiAssociation !== undefined && data.apiAssociation !== null) {
+ contents.apiAssociation = deserializeAws_restJson1ApiAssociation(data.apiAssociation, context);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1AssociateApiCommandError = async (
+ 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.appsync#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
+ response = {
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalFailureException":
+ case "com.amazonaws.appsync#InternalFailureException":
+ response = {
+ ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "NotFoundException":
+ case "com.amazonaws.appsync#NotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_restJson1CreateApiCacheCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -2049,28 +2373,99 @@ const deserializeAws_restJson1CreateDataSourceCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
-export const deserializeAws_restJson1CreateFunctionCommand = async (
+export const deserializeAws_restJson1CreateDomainNameCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
- return deserializeAws_restJson1CreateFunctionCommandError(output, context);
+ return deserializeAws_restJson1CreateDomainNameCommandError(output, context);
}
- const contents: CreateFunctionCommandOutput = {
+ const contents: CreateDomainNameCommandOutput = {
$metadata: deserializeMetadata(output),
- functionConfiguration: undefined,
+ domainNameConfig: undefined,
};
const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
- if (data.functionConfiguration !== undefined && data.functionConfiguration !== null) {
- contents.functionConfiguration = deserializeAws_restJson1FunctionConfiguration(data.functionConfiguration, context);
+ if (data.domainNameConfig !== undefined && data.domainNameConfig !== null) {
+ contents.domainNameConfig = deserializeAws_restJson1DomainNameConfig(data.domainNameConfig, context);
}
return Promise.resolve(contents);
};
-const deserializeAws_restJson1CreateFunctionCommandError = async (
+const deserializeAws_restJson1CreateDomainNameCommandError = 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.appsync#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
+ response = {
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalFailureException":
+ case "com.amazonaws.appsync#InternalFailureException":
+ response = {
+ ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1CreateFunctionCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1CreateFunctionCommandError(output, context);
+ }
+ const contents: CreateFunctionCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ functionConfiguration: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.functionConfiguration !== undefined && data.functionConfiguration !== null) {
+ contents.functionConfiguration = deserializeAws_restJson1FunctionConfiguration(data.functionConfiguration, context);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1CreateFunctionCommandError = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseBody(output.body, context),
@@ -2630,6 +3025,89 @@ const deserializeAws_restJson1DeleteDataSourceCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1DeleteDomainNameCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1DeleteDomainNameCommandError(output, context);
+ }
+ const contents: DeleteDomainNameCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ };
+ await collectBody(output.body, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1DeleteDomainNameCommandError = async (
+ 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.appsync#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
+ response = {
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ConcurrentModificationException":
+ case "com.amazonaws.appsync#ConcurrentModificationException":
+ response = {
+ ...(await deserializeAws_restJson1ConcurrentModificationExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalFailureException":
+ case "com.amazonaws.appsync#InternalFailureException":
+ response = {
+ ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "NotFoundException":
+ case "com.amazonaws.appsync#NotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_restJson1DeleteFunctionCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -2874,21 +3352,274 @@ const deserializeAws_restJson1DeleteResolverCommandError = async (
export const deserializeAws_restJson1DeleteTypeCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1DeleteTypeCommandError(output, context);
+ }
+ const contents: DeleteTypeCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ };
+ await collectBody(output.body, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1DeleteTypeCommandError = async (
+ 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 "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
+ response = {
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ConcurrentModificationException":
+ case "com.amazonaws.appsync#ConcurrentModificationException":
+ response = {
+ ...(await deserializeAws_restJson1ConcurrentModificationExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalFailureException":
+ case "com.amazonaws.appsync#InternalFailureException":
+ response = {
+ ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "NotFoundException":
+ case "com.amazonaws.appsync#NotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "UnauthorizedException":
+ case "com.amazonaws.appsync#UnauthorizedException":
+ response = {
+ ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1DisassociateApiCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1DisassociateApiCommandError(output, context);
+ }
+ const contents: DisassociateApiCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ };
+ await collectBody(output.body, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1DisassociateApiCommandError = async (
+ 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.appsync#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
+ response = {
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ConcurrentModificationException":
+ case "com.amazonaws.appsync#ConcurrentModificationException":
+ response = {
+ ...(await deserializeAws_restJson1ConcurrentModificationExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalFailureException":
+ case "com.amazonaws.appsync#InternalFailureException":
+ response = {
+ ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "NotFoundException":
+ case "com.amazonaws.appsync#NotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1FlushApiCacheCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1FlushApiCacheCommandError(output, context);
+ }
+ const contents: FlushApiCacheCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ };
+ await collectBody(output.body, context);
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1FlushApiCacheCommandError = async (
+ 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 "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
+ response = {
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ConcurrentModificationException":
+ case "com.amazonaws.appsync#ConcurrentModificationException":
+ response = {
+ ...(await deserializeAws_restJson1ConcurrentModificationExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalFailureException":
+ case "com.amazonaws.appsync#InternalFailureException":
+ response = {
+ ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "NotFoundException":
+ case "com.amazonaws.appsync#NotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "UnauthorizedException":
+ case "com.amazonaws.appsync#UnauthorizedException":
+ response = {
+ ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_restJson1GetApiAssociationCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
- return deserializeAws_restJson1DeleteTypeCommandError(output, context);
+ return deserializeAws_restJson1GetApiAssociationCommandError(output, context);
}
- const contents: DeleteTypeCommandOutput = {
+ const contents: GetApiAssociationCommandOutput = {
$metadata: deserializeMetadata(output),
+ apiAssociation: undefined,
};
- await collectBody(output.body, context);
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.apiAssociation !== undefined && data.apiAssociation !== null) {
+ contents.apiAssociation = deserializeAws_restJson1ApiAssociation(data.apiAssociation, context);
+ }
return Promise.resolve(contents);
};
-const deserializeAws_restJson1DeleteTypeCommandError = async (
+const deserializeAws_restJson1GetApiAssociationCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseBody(output.body, context),
@@ -2897,18 +3628,18 @@ const deserializeAws_restJson1DeleteTypeCommandError = async (
let errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
switch (errorCode) {
- case "BadRequestException":
- case "com.amazonaws.appsync#BadRequestException":
+ case "AccessDeniedException":
+ case "com.amazonaws.appsync#AccessDeniedException":
response = {
- ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
name: errorCode,
$metadata: deserializeMetadata(output),
};
break;
- case "ConcurrentModificationException":
- case "com.amazonaws.appsync#ConcurrentModificationException":
+ case "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
response = {
- ...(await deserializeAws_restJson1ConcurrentModificationExceptionResponse(parsedOutput, context)),
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
name: errorCode,
$metadata: deserializeMetadata(output),
};
@@ -2929,14 +3660,6 @@ const deserializeAws_restJson1DeleteTypeCommandError = async (
$metadata: deserializeMetadata(output),
};
break;
- case "UnauthorizedException":
- case "com.amazonaws.appsync#UnauthorizedException":
- response = {
- ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)),
- name: errorCode,
- $metadata: deserializeMetadata(output),
- };
- break;
default:
const parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;
@@ -2954,24 +3677,28 @@ const deserializeAws_restJson1DeleteTypeCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
-export const deserializeAws_restJson1FlushApiCacheCommand = async (
+export const deserializeAws_restJson1GetApiCacheCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
- return deserializeAws_restJson1FlushApiCacheCommandError(output, context);
+ return deserializeAws_restJson1GetApiCacheCommandError(output, context);
}
- const contents: FlushApiCacheCommandOutput = {
+ const contents: GetApiCacheCommandOutput = {
$metadata: deserializeMetadata(output),
+ apiCache: undefined,
};
- await collectBody(output.body, context);
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.apiCache !== undefined && data.apiCache !== null) {
+ contents.apiCache = deserializeAws_restJson1ApiCache(data.apiCache, context);
+ }
return Promise.resolve(contents);
};
-const deserializeAws_restJson1FlushApiCacheCommandError = async (
+const deserializeAws_restJson1GetApiCacheCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseBody(output.body, context),
@@ -3037,28 +3764,28 @@ const deserializeAws_restJson1FlushApiCacheCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
-export const deserializeAws_restJson1GetApiCacheCommand = async (
+export const deserializeAws_restJson1GetDataSourceCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
- return deserializeAws_restJson1GetApiCacheCommandError(output, context);
+ return deserializeAws_restJson1GetDataSourceCommandError(output, context);
}
- const contents: GetApiCacheCommandOutput = {
+ const contents: GetDataSourceCommandOutput = {
$metadata: deserializeMetadata(output),
- apiCache: undefined,
+ dataSource: undefined,
};
const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
- if (data.apiCache !== undefined && data.apiCache !== null) {
- contents.apiCache = deserializeAws_restJson1ApiCache(data.apiCache, context);
+ if (data.dataSource !== undefined && data.dataSource !== null) {
+ contents.dataSource = deserializeAws_restJson1DataSource(data.dataSource, context);
}
return Promise.resolve(contents);
};
-const deserializeAws_restJson1GetApiCacheCommandError = async (
+const deserializeAws_restJson1GetDataSourceCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseBody(output.body, context),
@@ -3124,28 +3851,28 @@ const deserializeAws_restJson1GetApiCacheCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
-export const deserializeAws_restJson1GetDataSourceCommand = async (
+export const deserializeAws_restJson1GetDomainNameCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode !== 200 && output.statusCode >= 300) {
- return deserializeAws_restJson1GetDataSourceCommandError(output, context);
+ return deserializeAws_restJson1GetDomainNameCommandError(output, context);
}
- const contents: GetDataSourceCommandOutput = {
+ const contents: GetDomainNameCommandOutput = {
$metadata: deserializeMetadata(output),
- dataSource: undefined,
+ domainNameConfig: undefined,
};
const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
- if (data.dataSource !== undefined && data.dataSource !== null) {
- contents.dataSource = deserializeAws_restJson1DataSource(data.dataSource, context);
+ if (data.domainNameConfig !== undefined && data.domainNameConfig !== null) {
+ contents.domainNameConfig = deserializeAws_restJson1DomainNameConfig(data.domainNameConfig, context);
}
return Promise.resolve(contents);
};
-const deserializeAws_restJson1GetDataSourceCommandError = async (
+const deserializeAws_restJson1GetDomainNameCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseBody(output.body, context),
@@ -3154,18 +3881,18 @@ const deserializeAws_restJson1GetDataSourceCommandError = async (
let errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
switch (errorCode) {
- case "BadRequestException":
- case "com.amazonaws.appsync#BadRequestException":
+ case "AccessDeniedException":
+ case "com.amazonaws.appsync#AccessDeniedException":
response = {
- ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
name: errorCode,
$metadata: deserializeMetadata(output),
};
break;
- case "ConcurrentModificationException":
- case "com.amazonaws.appsync#ConcurrentModificationException":
+ case "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
response = {
- ...(await deserializeAws_restJson1ConcurrentModificationExceptionResponse(parsedOutput, context)),
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
name: errorCode,
$metadata: deserializeMetadata(output),
};
@@ -3186,14 +3913,6 @@ const deserializeAws_restJson1GetDataSourceCommandError = async (
$metadata: deserializeMetadata(output),
};
break;
- case "UnauthorizedException":
- case "com.amazonaws.appsync#UnauthorizedException":
- response = {
- ...(await deserializeAws_restJson1UnauthorizedExceptionResponse(parsedOutput, context)),
- name: errorCode,
- $metadata: deserializeMetadata(output),
- };
- break;
default:
const parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;
@@ -3853,6 +4572,81 @@ const deserializeAws_restJson1ListDataSourcesCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1ListDomainNamesCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ListDomainNamesCommandError(output, context);
+ }
+ const contents: ListDomainNamesCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ domainNameConfigs: undefined,
+ nextToken: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.domainNameConfigs !== undefined && data.domainNameConfigs !== null) {
+ contents.domainNameConfigs = deserializeAws_restJson1DomainNameConfigs(data.domainNameConfigs, context);
+ }
+ if (data.nextToken !== undefined && data.nextToken !== null) {
+ contents.nextToken = __expectString(data.nextToken);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ListDomainNamesCommandError = async (
+ 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.appsync#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
+ response = {
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalFailureException":
+ case "com.amazonaws.appsync#InternalFailureException":
+ response = {
+ ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_restJson1ListFunctionsCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -4901,6 +5695,93 @@ const deserializeAws_restJson1UpdateDataSourceCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1UpdateDomainNameCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1UpdateDomainNameCommandError(output, context);
+ }
+ const contents: UpdateDomainNameCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ domainNameConfig: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.domainNameConfig !== undefined && data.domainNameConfig !== null) {
+ contents.domainNameConfig = deserializeAws_restJson1DomainNameConfig(data.domainNameConfig, context);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1UpdateDomainNameCommandError = async (
+ 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.appsync#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "BadRequestException":
+ case "com.amazonaws.appsync#BadRequestException":
+ response = {
+ ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ConcurrentModificationException":
+ case "com.amazonaws.appsync#ConcurrentModificationException":
+ response = {
+ ...(await deserializeAws_restJson1ConcurrentModificationExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalFailureException":
+ case "com.amazonaws.appsync#InternalFailureException":
+ response = {
+ ...(await deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "NotFoundException":
+ case "com.amazonaws.appsync#NotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_restJson1UpdateFunctionCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -5735,6 +6616,15 @@ const deserializeAws_restJson1AdditionalAuthenticationProviders = (
});
};
+const deserializeAws_restJson1ApiAssociation = (output: any, context: __SerdeContext): ApiAssociation => {
+ return {
+ apiId: __expectString(output.apiId),
+ associationStatus: __expectString(output.associationStatus),
+ deploymentDetail: __expectString(output.deploymentDetail),
+ domainName: __expectString(output.domainName),
+ } as any;
+};
+
const deserializeAws_restJson1ApiCache = (output: any, context: __SerdeContext): ApiCache => {
return {
apiCachingBehavior: __expectString(output.apiCachingBehavior),
@@ -5865,6 +6755,27 @@ const deserializeAws_restJson1DeltaSyncConfig = (output: any, context: __SerdeCo
} as any;
};
+const deserializeAws_restJson1DomainNameConfig = (output: any, context: __SerdeContext): DomainNameConfig => {
+ return {
+ appsyncDomainName: __expectString(output.appsyncDomainName),
+ certificateArn: __expectString(output.certificateArn),
+ description: __expectString(output.description),
+ domainName: __expectString(output.domainName),
+ hostedZoneId: __expectString(output.hostedZoneId),
+ } as any;
+};
+
+const deserializeAws_restJson1DomainNameConfigs = (output: any, context: __SerdeContext): DomainNameConfig[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1DomainNameConfig(entry, context);
+ });
+};
+
const deserializeAws_restJson1DynamodbDataSourceConfig = (
output: any,
context: __SerdeContext
diff --git a/clients/client-athena/src/endpoints.ts b/clients/client-athena/src/endpoints.ts
index dd3bbdfd76ea..88f30dac528c 100644
--- a/clients/client-athena/src/endpoints.ts
+++ b/clients/client-athena/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-auditmanager/src/endpoints.ts b/clients/client-auditmanager/src/endpoints.ts
index 559f97315d70..d584f1e21c69 100644
--- a/clients/client-auditmanager/src/endpoints.ts
+++ b/clients/client-auditmanager/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-auto-scaling-plans/src/endpoints.ts b/clients/client-auto-scaling-plans/src/endpoints.ts
index 0f9288335191..9d65dac6d2dd 100644
--- a/clients/client-auto-scaling-plans/src/endpoints.ts
+++ b/clients/client-auto-scaling-plans/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-auto-scaling/src/endpoints.ts b/clients/client-auto-scaling/src/endpoints.ts
index ae9eb1561663..0464377927dd 100644
--- a/clients/client-auto-scaling/src/endpoints.ts
+++ b/clients/client-auto-scaling/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-backup-gateway/src/endpoints.ts b/clients/client-backup-gateway/src/endpoints.ts
index 7f4326c6cd4e..7fe07d347fcd 100644
--- a/clients/client-backup-gateway/src/endpoints.ts
+++ b/clients/client-backup-gateway/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-backup/src/endpoints.ts b/clients/client-backup/src/endpoints.ts
index 5082b4f7d270..f412a4fd7298 100644
--- a/clients/client-backup/src/endpoints.ts
+++ b/clients/client-backup/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-batch/src/endpoints.ts b/clients/client-batch/src/endpoints.ts
index 25b4a11c6ee8..963ccd4d298e 100644
--- a/clients/client-batch/src/endpoints.ts
+++ b/clients/client-batch/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-braket/src/endpoints.ts b/clients/client-braket/src/endpoints.ts
index cac667250120..6cd79d2c8f1a 100644
--- a/clients/client-braket/src/endpoints.ts
+++ b/clients/client-braket/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-budgets/src/endpoints.ts b/clients/client-budgets/src/endpoints.ts
index a75c3054d65d..8d0bbf54c0b6 100644
--- a/clients/client-budgets/src/endpoints.ts
+++ b/clients/client-budgets/src/endpoints.ts
@@ -33,6 +33,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"aws-global",
"ca-central-1",
"eu-central-1",
diff --git a/clients/client-chime-sdk-identity/src/endpoints.ts b/clients/client-chime-sdk-identity/src/endpoints.ts
index bd6de5fc6048..e79827d1114b 100644
--- a/clients/client-chime-sdk-identity/src/endpoints.ts
+++ b/clients/client-chime-sdk-identity/src/endpoints.ts
@@ -27,6 +27,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-chime-sdk-meetings/src/endpoints.ts b/clients/client-chime-sdk-meetings/src/endpoints.ts
index b34f5bb65306..cc3ed299f8d2 100644
--- a/clients/client-chime-sdk-meetings/src/endpoints.ts
+++ b/clients/client-chime-sdk-meetings/src/endpoints.ts
@@ -1,7 +1,32 @@
import { getRegionInfo, PartitionHash, RegionHash } from "@aws-sdk/config-resolver";
import { RegionInfoProvider, RegionInfoProviderOptions } from "@aws-sdk/types";
-const regionHash: RegionHash = {};
+const regionHash: RegionHash = {
+ "us-east-1": {
+ variants: [
+ {
+ hostname: "meetings-chime.us-east-1.amazonaws.com",
+ tags: [],
+ },
+ {
+ hostname: "meetings-chime-fips.us-east-1.amazonaws.com",
+ tags: ["fips"],
+ },
+ ],
+ },
+ "us-west-2": {
+ variants: [
+ {
+ hostname: "meetings-chime.us-west-2.amazonaws.com",
+ tags: [],
+ },
+ {
+ hostname: "meetings-chime-fips.us-west-2.amazonaws.com",
+ tags: ["fips"],
+ },
+ ],
+ },
+};
const partitionHash: PartitionHash = {
aws: {
@@ -14,6 +39,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
@@ -24,9 +50,11 @@ const partitionHash: PartitionHash = {
"me-south-1",
"sa-east-1",
"us-east-1",
+ "us-east-1-fips",
"us-east-2",
"us-west-1",
"us-west-2",
+ "us-west-2-fips",
],
regionRegex: "^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$",
variants: [
diff --git a/clients/client-chime-sdk-messaging/src/endpoints.ts b/clients/client-chime-sdk-messaging/src/endpoints.ts
index 3a42ec63a13b..505c995c3cb1 100644
--- a/clients/client-chime-sdk-messaging/src/endpoints.ts
+++ b/clients/client-chime-sdk-messaging/src/endpoints.ts
@@ -27,6 +27,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-chime-sdk-messaging/src/models/models_0.ts b/clients/client-chime-sdk-messaging/src/models/models_0.ts
index 22fb68068cd8..452129dfa059 100644
--- a/clients/client-chime-sdk-messaging/src/models/models_0.ts
+++ b/clients/client-chime-sdk-messaging/src/models/models_0.ts
@@ -689,6 +689,64 @@ export namespace ChannelFlow {
});
}
+/**
+ * A list of message attribute values.
+ */
+export interface MessageAttributeValue {
+ /**
+ * The strings in a message attribute value.
+ */
+ StringValues?: string[];
+}
+
+export namespace MessageAttributeValue {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: MessageAttributeValue): any => ({
+ ...obj,
+ ...(obj.StringValues && { StringValues: SENSITIVE_STRING }),
+ });
+}
+
+export enum PushNotificationType {
+ DEFAULT = "DEFAULT",
+ VOIP = "VOIP",
+}
+
+/**
+ * The push notification configuration of the message.
+ */
+export interface PushNotificationConfiguration {
+ /**
+ * The title of the push notification.
+ */
+ Title?: string;
+
+ /**
+ * The body of the push notification.
+ */
+ Body?: string;
+
+ /**
+ * Enum value that indicates the type of the push notification for a message.
+ * DEFAULT
: Normal mobile push notification.
+ * VOIP
: VOIP mobile push notification.
+ */
+ Type?: PushNotificationType | string;
+}
+
+export namespace PushNotificationConfiguration {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: PushNotificationConfiguration): any => ({
+ ...obj,
+ ...(obj.Title && { Title: SENSITIVE_STRING }),
+ ...(obj.Body && { Body: SENSITIVE_STRING }),
+ });
+}
+
/**
* Stores information about a callback.
*/
@@ -707,6 +765,16 @@ export interface ChannelMessageCallback {
* The message metadata.
*/
Metadata?: string;
+
+ /**
+ * The push notification configuration of the message.
+ */
+ PushNotification?: PushNotificationConfiguration;
+
+ /**
+ * The attributes for the message, used for message filtering along with a FilterRule
defined in the PushNotificationPreferences
.
+ */
+ MessageAttributes?: { [key: string]: MessageAttributeValue };
}
export namespace ChannelMessageCallback {
@@ -717,6 +785,18 @@ export namespace ChannelMessageCallback {
...obj,
...(obj.Content && { Content: SENSITIVE_STRING }),
...(obj.Metadata && { Metadata: SENSITIVE_STRING }),
+ ...(obj.PushNotification && {
+ PushNotification: PushNotificationConfiguration.filterSensitiveLog(obj.PushNotification),
+ }),
+ ...(obj.MessageAttributes && {
+ MessageAttributes: Object.entries(obj.MessageAttributes).reduce(
+ (acc: any, [key, value]: [string, MessageAttributeValue]) => ({
+ ...acc,
+ [key]: MessageAttributeValue.filterSensitiveLog(value),
+ }),
+ {}
+ ),
+ }),
});
}
@@ -990,26 +1070,6 @@ export namespace ChannelMembershipSummary {
});
}
-/**
- * A list of message attribute values.
- */
-export interface MessageAttributeValue {
- /**
- * The strings in a message attribute value.
- */
- StringValues?: string[];
-}
-
-export namespace MessageAttributeValue {
- /**
- * @internal
- */
- export const filterSensitiveLog = (obj: MessageAttributeValue): any => ({
- ...obj,
- ...(obj.StringValues && { StringValues: SENSITIVE_STRING }),
- });
-}
-
export enum ChannelMessagePersistenceType {
NON_PERSISTENT = "NON_PERSISTENT",
PERSISTENT = "PERSISTENT",
@@ -2390,9 +2450,9 @@ export interface ListChannelMembershipsRequest {
/**
* The membership type of a user, DEFAULT
or HIDDEN
. Default
- * members are always returned as part of ListChannelMemberships
. Hidden members
+ * members are returned as part of ListChannelMemberships
if no type is specified. Hidden members
* are only returned if the type filter in ListChannelMemberships
equals
- * HIDDEN
. Otherwise hidden members are not returned.
+ * HIDDEN
.
*/
Type?: ChannelMembershipType | string;
@@ -2975,44 +3035,6 @@ export namespace RedactChannelMessageResponse {
});
}
-export enum PushNotificationType {
- DEFAULT = "DEFAULT",
- VOIP = "VOIP",
-}
-
-/**
- * The push notification configuration of the message.
- */
-export interface PushNotificationConfiguration {
- /**
- * The title of the push notification.
- */
- Title: string | undefined;
-
- /**
- * The body of the push notification.
- */
- Body: string | undefined;
-
- /**
- * Enum value that indicates the type of the push notification for a message.
- * DEFAULT
: Normal mobile push notification.
- * VOIP
: VOIP mobile push notification.
- */
- Type: PushNotificationType | string | undefined;
-}
-
-export namespace PushNotificationConfiguration {
- /**
- * @internal
- */
- export const filterSensitiveLog = (obj: PushNotificationConfiguration): any => ({
- ...obj,
- ...(obj.Title && { Title: SENSITIVE_STRING }),
- ...(obj.Body && { Body: SENSITIVE_STRING }),
- });
-}
-
export interface SendChannelMessageRequest {
/**
* The ARN of the channel.
diff --git a/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts b/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts
index 93f7ea6aaa03..291f5c98884b 100644
--- a/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts
+++ b/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts
@@ -6577,8 +6577,16 @@ const serializeAws_restJson1ChannelMembershipPreferences = (
const serializeAws_restJson1ChannelMessageCallback = (input: ChannelMessageCallback, context: __SerdeContext): any => {
return {
...(input.Content !== undefined && input.Content !== null && { Content: input.Content }),
+ ...(input.MessageAttributes !== undefined &&
+ input.MessageAttributes !== null && {
+ MessageAttributes: serializeAws_restJson1MessageAttributeMap(input.MessageAttributes, context),
+ }),
...(input.MessageId !== undefined && input.MessageId !== null && { MessageId: input.MessageId }),
...(input.Metadata !== undefined && input.Metadata !== null && { Metadata: input.Metadata }),
+ ...(input.PushNotification !== undefined &&
+ input.PushNotification !== null && {
+ PushNotification: serializeAws_restJson1PushNotificationConfiguration(input.PushNotification, context),
+ }),
};
};
diff --git a/clients/client-chime/src/endpoints.ts b/clients/client-chime/src/endpoints.ts
index 13d2fde15bce..6a383b7f669e 100644
--- a/clients/client-chime/src/endpoints.ts
+++ b/clients/client-chime/src/endpoints.ts
@@ -24,6 +24,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"aws-global",
"ca-central-1",
"eu-central-1",
diff --git a/clients/client-cloud9/src/endpoints.ts b/clients/client-cloud9/src/endpoints.ts
index 79fccd9484d9..37083cefd817 100644
--- a/clients/client-cloud9/src/endpoints.ts
+++ b/clients/client-cloud9/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudcontrol/src/endpoints.ts b/clients/client-cloudcontrol/src/endpoints.ts
index 5c69b9342078..6248a38729e7 100644
--- a/clients/client-cloudcontrol/src/endpoints.ts
+++ b/clients/client-cloudcontrol/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-clouddirectory/src/endpoints.ts b/clients/client-clouddirectory/src/endpoints.ts
index 27fcfeb622fe..179ddc4214d1 100644
--- a/clients/client-clouddirectory/src/endpoints.ts
+++ b/clients/client-clouddirectory/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudformation/src/endpoints.ts b/clients/client-cloudformation/src/endpoints.ts
index 87ccdcddc5f9..78018ca1b0ee 100644
--- a/clients/client-cloudformation/src/endpoints.ts
+++ b/clients/client-cloudformation/src/endpoints.ts
@@ -81,6 +81,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudfront/src/endpoints.ts b/clients/client-cloudfront/src/endpoints.ts
index 3fc0c810e127..1c1a3a9aa21f 100644
--- a/clients/client-cloudfront/src/endpoints.ts
+++ b/clients/client-cloudfront/src/endpoints.ts
@@ -33,6 +33,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"aws-global",
"ca-central-1",
"eu-central-1",
diff --git a/clients/client-cloudhsm-v2/src/endpoints.ts b/clients/client-cloudhsm-v2/src/endpoints.ts
index 5e8335282c6c..e84277a7d88d 100644
--- a/clients/client-cloudhsm-v2/src/endpoints.ts
+++ b/clients/client-cloudhsm-v2/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudhsm/src/endpoints.ts b/clients/client-cloudhsm/src/endpoints.ts
index 3bb15adb87ac..1ebd8ee6ea75 100644
--- a/clients/client-cloudhsm/src/endpoints.ts
+++ b/clients/client-cloudhsm/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudsearch-domain/src/endpoints.ts b/clients/client-cloudsearch-domain/src/endpoints.ts
index 443abfab7a87..3f18711c4048 100644
--- a/clients/client-cloudsearch-domain/src/endpoints.ts
+++ b/clients/client-cloudsearch-domain/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudsearch/src/endpoints.ts b/clients/client-cloudsearch/src/endpoints.ts
index 05298ba35ce3..bc5df1423ad4 100644
--- a/clients/client-cloudsearch/src/endpoints.ts
+++ b/clients/client-cloudsearch/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudtrail/src/endpoints.ts b/clients/client-cloudtrail/src/endpoints.ts
index e41684e3bcc6..638b77fde8cc 100644
--- a/clients/client-cloudtrail/src/endpoints.ts
+++ b/clients/client-cloudtrail/src/endpoints.ts
@@ -81,6 +81,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudwatch-events/src/endpoints.ts b/clients/client-cloudwatch-events/src/endpoints.ts
index 6e6b75d81970..f85979f649db 100644
--- a/clients/client-cloudwatch-events/src/endpoints.ts
+++ b/clients/client-cloudwatch-events/src/endpoints.ts
@@ -81,6 +81,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudwatch-logs/src/endpoints.ts b/clients/client-cloudwatch-logs/src/endpoints.ts
index 9ba7ab1dad84..129d656be98b 100644
--- a/clients/client-cloudwatch-logs/src/endpoints.ts
+++ b/clients/client-cloudwatch-logs/src/endpoints.ts
@@ -81,6 +81,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cloudwatch-logs/src/models/models_0.ts b/clients/client-cloudwatch-logs/src/models/models_0.ts
index 8d9ca28d9e6d..4b2b6db07a98 100644
--- a/clients/client-cloudwatch-logs/src/models/models_0.ts
+++ b/clients/client-cloudwatch-logs/src/models/models_0.ts
@@ -2199,6 +2199,21 @@ export interface PutDestinationPolicyRequest {
* to the associated destination. This can be up to 5120 bytes.
*/
accessPolicy: string | undefined;
+
+ /**
+ * Specify true if you are updating an existing destination policy to grant permission to
+ * an organization ID instead of granting permission to individual AWS accounts. Before
+ * you update a destination policy this way, you must first update the subscription
+ * filters in the accounts that send logs to this destination. If you do not, the subscription
+ * filters might stop working. By specifying true
+ * for forceUpdate
, you are affirming that you have already updated the subscription
+ * filters.
+ * For more information, see
+ * Updating an existing cross-account subscription
+ *
+ * If you omit this parameter, the default of false
is used.
+ */
+ forceUpdate?: boolean;
}
export namespace PutDestinationPolicyRequest {
@@ -2417,7 +2432,7 @@ export interface PutResourcePolicyRequest {
* and aws:SourceAccount
* condition context keys.
* In the example resource policy, you would replace the value of SourceArn
with the resource making the
- * call from Route 53 to CloudWatch Logs and replace the value of SourceAccount
with
+ * call from Route 53 to CloudWatch Logs and replace the value of SourceAccount
with
* the Amazon Web Services account ID making that call.
*
*
diff --git a/clients/client-cloudwatch-logs/src/protocols/Aws_json1_1.ts b/clients/client-cloudwatch-logs/src/protocols/Aws_json1_1.ts
index 80efe6a66b3b..3a9624e5391f 100644
--- a/clients/client-cloudwatch-logs/src/protocols/Aws_json1_1.ts
+++ b/clients/client-cloudwatch-logs/src/protocols/Aws_json1_1.ts
@@ -3176,6 +3176,14 @@ const deserializeAws_json1_1PutQueryDefinitionCommandError = async (
$metadata: deserializeMetadata(output),
};
break;
+ case "LimitExceededException":
+ case "com.amazonaws.cloudwatchlogs#LimitExceededException":
+ response = {
+ ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
case "ResourceNotFoundException":
case "com.amazonaws.cloudwatchlogs#ResourceNotFoundException":
response = {
@@ -4307,6 +4315,7 @@ const serializeAws_json1_1PutDestinationPolicyRequest = (
...(input.accessPolicy !== undefined && input.accessPolicy !== null && { accessPolicy: input.accessPolicy }),
...(input.destinationName !== undefined &&
input.destinationName !== null && { destinationName: input.destinationName }),
+ ...(input.forceUpdate !== undefined && input.forceUpdate !== null && { forceUpdate: input.forceUpdate }),
};
};
diff --git a/clients/client-cloudwatch/src/endpoints.ts b/clients/client-cloudwatch/src/endpoints.ts
index f081937f7016..0c29e917194a 100644
--- a/clients/client-cloudwatch/src/endpoints.ts
+++ b/clients/client-cloudwatch/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codeartifact/src/endpoints.ts b/clients/client-codeartifact/src/endpoints.ts
index acf0ba344620..f24db8064c6f 100644
--- a/clients/client-codeartifact/src/endpoints.ts
+++ b/clients/client-codeartifact/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codebuild/src/endpoints.ts b/clients/client-codebuild/src/endpoints.ts
index b836396bb7d3..286dbbc30703 100644
--- a/clients/client-codebuild/src/endpoints.ts
+++ b/clients/client-codebuild/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codecommit/src/endpoints.ts b/clients/client-codecommit/src/endpoints.ts
index 47562436bc27..53df24c75ffb 100644
--- a/clients/client-codecommit/src/endpoints.ts
+++ b/clients/client-codecommit/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"ca-central-1-fips",
"eu-central-1",
diff --git a/clients/client-codedeploy/src/endpoints.ts b/clients/client-codedeploy/src/endpoints.ts
index a199fbc4ff96..ae57b09e90d0 100644
--- a/clients/client-codedeploy/src/endpoints.ts
+++ b/clients/client-codedeploy/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codeguru-reviewer/src/endpoints.ts b/clients/client-codeguru-reviewer/src/endpoints.ts
index 56dcb7086005..55511032f041 100644
--- a/clients/client-codeguru-reviewer/src/endpoints.ts
+++ b/clients/client-codeguru-reviewer/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codeguruprofiler/src/endpoints.ts b/clients/client-codeguruprofiler/src/endpoints.ts
index 9d6ed831d35a..efd5a0b40531 100644
--- a/clients/client-codeguruprofiler/src/endpoints.ts
+++ b/clients/client-codeguruprofiler/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codepipeline/src/endpoints.ts b/clients/client-codepipeline/src/endpoints.ts
index da53af5180c8..88d499da6f8e 100644
--- a/clients/client-codepipeline/src/endpoints.ts
+++ b/clients/client-codepipeline/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codestar-connections/src/endpoints.ts b/clients/client-codestar-connections/src/endpoints.ts
index 3e91df53562b..276632329497 100644
--- a/clients/client-codestar-connections/src/endpoints.ts
+++ b/clients/client-codestar-connections/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codestar-notifications/src/endpoints.ts b/clients/client-codestar-notifications/src/endpoints.ts
index d8f713e30a16..6c934f147754 100644
--- a/clients/client-codestar-notifications/src/endpoints.ts
+++ b/clients/client-codestar-notifications/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-codestar/src/endpoints.ts b/clients/client-codestar/src/endpoints.ts
index ac8900730901..ba1475fa8744 100644
--- a/clients/client-codestar/src/endpoints.ts
+++ b/clients/client-codestar/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cognito-identity-provider/src/endpoints.ts b/clients/client-cognito-identity-provider/src/endpoints.ts
index 777a1d37fb4c..40af52e0fe70 100644
--- a/clients/client-cognito-identity-provider/src/endpoints.ts
+++ b/clients/client-cognito-identity-provider/src/endpoints.ts
@@ -75,6 +75,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cognito-identity/src/endpoints.ts b/clients/client-cognito-identity/src/endpoints.ts
index cca77de59905..ac48eb7a1019 100644
--- a/clients/client-cognito-identity/src/endpoints.ts
+++ b/clients/client-cognito-identity/src/endpoints.ts
@@ -63,6 +63,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cognito-sync/src/endpoints.ts b/clients/client-cognito-sync/src/endpoints.ts
index f32afdd272d3..055c731130d0 100644
--- a/clients/client-cognito-sync/src/endpoints.ts
+++ b/clients/client-cognito-sync/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-comprehend/src/endpoints.ts b/clients/client-comprehend/src/endpoints.ts
index c4c4b3d5f6ac..ee0277a3fc4a 100644
--- a/clients/client-comprehend/src/endpoints.ts
+++ b/clients/client-comprehend/src/endpoints.ts
@@ -63,6 +63,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-comprehendmedical/README.md b/clients/client-comprehendmedical/README.md
index afcc3cb53b00..3d5398d4db18 100644
--- a/clients/client-comprehendmedical/README.md
+++ b/clients/client-comprehendmedical/README.md
@@ -7,7 +7,7 @@
AWS SDK for JavaScript ComprehendMedical Client for Node.js, Browser and React Native.
-
Amazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions
+
Comprehend Medical; extracts structured information from unstructured clinical text. Use these actions
to gain insight in your documents.
## Installing
diff --git a/clients/client-comprehendmedical/src/ComprehendMedical.ts b/clients/client-comprehendmedical/src/ComprehendMedical.ts
index 2c30487bd330..a5b9e6ca9e4d 100644
--- a/clients/client-comprehendmedical/src/ComprehendMedical.ts
+++ b/clients/client-comprehendmedical/src/ComprehendMedical.ts
@@ -20,6 +20,11 @@ import {
DescribeRxNormInferenceJobCommandInput,
DescribeRxNormInferenceJobCommandOutput,
} from "./commands/DescribeRxNormInferenceJobCommand";
+import {
+ DescribeSNOMEDCTInferenceJobCommand,
+ DescribeSNOMEDCTInferenceJobCommandInput,
+ DescribeSNOMEDCTInferenceJobCommandOutput,
+} from "./commands/DescribeSNOMEDCTInferenceJobCommand";
import {
DetectEntitiesCommand,
DetectEntitiesCommandInput,
@@ -37,6 +42,11 @@ import {
InferICD10CMCommandOutput,
} from "./commands/InferICD10CMCommand";
import { InferRxNormCommand, InferRxNormCommandInput, InferRxNormCommandOutput } from "./commands/InferRxNormCommand";
+import {
+ InferSNOMEDCTCommand,
+ InferSNOMEDCTCommandInput,
+ InferSNOMEDCTCommandOutput,
+} from "./commands/InferSNOMEDCTCommand";
import {
ListEntitiesDetectionV2JobsCommand,
ListEntitiesDetectionV2JobsCommandInput,
@@ -57,6 +67,11 @@ import {
ListRxNormInferenceJobsCommandInput,
ListRxNormInferenceJobsCommandOutput,
} from "./commands/ListRxNormInferenceJobsCommand";
+import {
+ ListSNOMEDCTInferenceJobsCommand,
+ ListSNOMEDCTInferenceJobsCommandInput,
+ ListSNOMEDCTInferenceJobsCommandOutput,
+} from "./commands/ListSNOMEDCTInferenceJobsCommand";
import {
StartEntitiesDetectionV2JobCommand,
StartEntitiesDetectionV2JobCommandInput,
@@ -77,6 +92,11 @@ import {
StartRxNormInferenceJobCommandInput,
StartRxNormInferenceJobCommandOutput,
} from "./commands/StartRxNormInferenceJobCommand";
+import {
+ StartSNOMEDCTInferenceJobCommand,
+ StartSNOMEDCTInferenceJobCommandInput,
+ StartSNOMEDCTInferenceJobCommandOutput,
+} from "./commands/StartSNOMEDCTInferenceJobCommand";
import {
StopEntitiesDetectionV2JobCommand,
StopEntitiesDetectionV2JobCommandInput,
@@ -97,10 +117,15 @@ import {
StopRxNormInferenceJobCommandInput,
StopRxNormInferenceJobCommandOutput,
} from "./commands/StopRxNormInferenceJobCommand";
+import {
+ StopSNOMEDCTInferenceJobCommand,
+ StopSNOMEDCTInferenceJobCommandInput,
+ StopSNOMEDCTInferenceJobCommandOutput,
+} from "./commands/StopSNOMEDCTInferenceJobCommand";
import { ComprehendMedicalClient } from "./ComprehendMedicalClient";
/**
- * Amazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions
+ *
Comprehend Medical; extracts structured information from unstructured clinical text. Use these actions
* to gain insight in your documents.
*/
export class ComprehendMedical extends ComprehendMedicalClient {
@@ -236,6 +261,40 @@ export class ComprehendMedical extends ComprehendMedicalClient {
}
}
+ /**
+ *
+ * Gets the properties associated with an InferSNOMEDCT job. Use this operation to get the status of an inference job.
+ *
+ */
+ public describeSNOMEDCTInferenceJob(
+ args: DescribeSNOMEDCTInferenceJobCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public describeSNOMEDCTInferenceJob(
+ args: DescribeSNOMEDCTInferenceJobCommandInput,
+ cb: (err: any, data?: DescribeSNOMEDCTInferenceJobCommandOutput) => void
+ ): void;
+ public describeSNOMEDCTInferenceJob(
+ args: DescribeSNOMEDCTInferenceJobCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DescribeSNOMEDCTInferenceJobCommandOutput) => void
+ ): void;
+ public describeSNOMEDCTInferenceJob(
+ args: DescribeSNOMEDCTInferenceJobCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeSNOMEDCTInferenceJobCommandOutput) => void),
+ cb?: (err: any, data?: DescribeSNOMEDCTInferenceJobCommandOutput) => void
+ ): Promise | void {
+ const command = new DescribeSNOMEDCTInferenceJobCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* @deprecated
*
@@ -402,6 +461,39 @@ export class ComprehendMedical extends ComprehendMedicalClient {
}
}
+ /**
+ *
+ * InferSNOMEDCT detects possible medical concepts as entities and links them to codes from the Systematized Nomenclature of Medicine, Clinical Terms (SNOMED-CT) ontology
+ */
+ public inferSNOMEDCT(
+ args: InferSNOMEDCTCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public inferSNOMEDCT(
+ args: InferSNOMEDCTCommandInput,
+ cb: (err: any, data?: InferSNOMEDCTCommandOutput) => void
+ ): void;
+ public inferSNOMEDCT(
+ args: InferSNOMEDCTCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: InferSNOMEDCTCommandOutput) => void
+ ): void;
+ public inferSNOMEDCT(
+ args: InferSNOMEDCTCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: InferSNOMEDCTCommandOutput) => void),
+ cb?: (err: any, data?: InferSNOMEDCTCommandOutput) => void
+ ): Promise | void {
+ const command = new InferSNOMEDCTCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 medical entity detection jobs that you have submitted.
*/
@@ -531,6 +623,40 @@ export class ComprehendMedical extends ComprehendMedicalClient {
}
}
+ /**
+ *
+ * Gets a list of InferSNOMEDCT jobs a user has submitted.
+ *
+ */
+ public listSNOMEDCTInferenceJobs(
+ args: ListSNOMEDCTInferenceJobsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listSNOMEDCTInferenceJobs(
+ args: ListSNOMEDCTInferenceJobsCommandInput,
+ cb: (err: any, data?: ListSNOMEDCTInferenceJobsCommandOutput) => void
+ ): void;
+ public listSNOMEDCTInferenceJobs(
+ args: ListSNOMEDCTInferenceJobsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListSNOMEDCTInferenceJobsCommandOutput) => void
+ ): void;
+ public listSNOMEDCTInferenceJobs(
+ args: ListSNOMEDCTInferenceJobsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListSNOMEDCTInferenceJobsCommandOutput) => void),
+ cb?: (err: any, data?: ListSNOMEDCTInferenceJobsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListSNOMEDCTInferenceJobsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Starts an asynchronous medical entity detection job for a collection of documents. Use the
* DescribeEntitiesDetectionV2Job
operation to track the status of a job.
@@ -665,6 +791,40 @@ export class ComprehendMedical extends ComprehendMedicalClient {
}
}
+ /**
+ *
+ * Starts an asynchronous job to detect medical concepts and link them to the SNOMED-CT ontology. Use the DescribeSNOMEDCTInferenceJob operation to track the status of a job.
+ *
+ */
+ public startSNOMEDCTInferenceJob(
+ args: StartSNOMEDCTInferenceJobCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public startSNOMEDCTInferenceJob(
+ args: StartSNOMEDCTInferenceJobCommandInput,
+ cb: (err: any, data?: StartSNOMEDCTInferenceJobCommandOutput) => void
+ ): void;
+ public startSNOMEDCTInferenceJob(
+ args: StartSNOMEDCTInferenceJobCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: StartSNOMEDCTInferenceJobCommandOutput) => void
+ ): void;
+ public startSNOMEDCTInferenceJob(
+ args: StartSNOMEDCTInferenceJobCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartSNOMEDCTInferenceJobCommandOutput) => void),
+ cb?: (err: any, data?: StartSNOMEDCTInferenceJobCommandOutput) => void
+ ): Promise | void {
+ const command = new StartSNOMEDCTInferenceJobCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 medical entities detection job in progress.
*/
@@ -792,4 +952,38 @@ export class ComprehendMedical extends ComprehendMedicalClient {
return this.send(command, optionsOrCb);
}
}
+
+ /**
+ *
+ * Stops an InferSNOMEDCT inference job in progress.
+ *
+ */
+ public stopSNOMEDCTInferenceJob(
+ args: StopSNOMEDCTInferenceJobCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public stopSNOMEDCTInferenceJob(
+ args: StopSNOMEDCTInferenceJobCommandInput,
+ cb: (err: any, data?: StopSNOMEDCTInferenceJobCommandOutput) => void
+ ): void;
+ public stopSNOMEDCTInferenceJob(
+ args: StopSNOMEDCTInferenceJobCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: StopSNOMEDCTInferenceJobCommandOutput) => void
+ ): void;
+ public stopSNOMEDCTInferenceJob(
+ args: StopSNOMEDCTInferenceJobCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StopSNOMEDCTInferenceJobCommandOutput) => void),
+ cb?: (err: any, data?: StopSNOMEDCTInferenceJobCommandOutput) => void
+ ): Promise | void {
+ const command = new StopSNOMEDCTInferenceJobCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
}
diff --git a/clients/client-comprehendmedical/src/ComprehendMedicalClient.ts b/clients/client-comprehendmedical/src/ComprehendMedicalClient.ts
index 8b87e96ea614..0e74945ee3d0 100644
--- a/clients/client-comprehendmedical/src/ComprehendMedicalClient.ts
+++ b/clients/client-comprehendmedical/src/ComprehendMedicalClient.ts
@@ -65,11 +65,16 @@ import {
DescribeRxNormInferenceJobCommandInput,
DescribeRxNormInferenceJobCommandOutput,
} from "./commands/DescribeRxNormInferenceJobCommand";
+import {
+ DescribeSNOMEDCTInferenceJobCommandInput,
+ DescribeSNOMEDCTInferenceJobCommandOutput,
+} from "./commands/DescribeSNOMEDCTInferenceJobCommand";
import { DetectEntitiesCommandInput, DetectEntitiesCommandOutput } from "./commands/DetectEntitiesCommand";
import { DetectEntitiesV2CommandInput, DetectEntitiesV2CommandOutput } from "./commands/DetectEntitiesV2Command";
import { DetectPHICommandInput, DetectPHICommandOutput } from "./commands/DetectPHICommand";
import { InferICD10CMCommandInput, InferICD10CMCommandOutput } from "./commands/InferICD10CMCommand";
import { InferRxNormCommandInput, InferRxNormCommandOutput } from "./commands/InferRxNormCommand";
+import { InferSNOMEDCTCommandInput, InferSNOMEDCTCommandOutput } from "./commands/InferSNOMEDCTCommand";
import {
ListEntitiesDetectionV2JobsCommandInput,
ListEntitiesDetectionV2JobsCommandOutput,
@@ -86,6 +91,10 @@ import {
ListRxNormInferenceJobsCommandInput,
ListRxNormInferenceJobsCommandOutput,
} from "./commands/ListRxNormInferenceJobsCommand";
+import {
+ ListSNOMEDCTInferenceJobsCommandInput,
+ ListSNOMEDCTInferenceJobsCommandOutput,
+} from "./commands/ListSNOMEDCTInferenceJobsCommand";
import {
StartEntitiesDetectionV2JobCommandInput,
StartEntitiesDetectionV2JobCommandOutput,
@@ -102,6 +111,10 @@ import {
StartRxNormInferenceJobCommandInput,
StartRxNormInferenceJobCommandOutput,
} from "./commands/StartRxNormInferenceJobCommand";
+import {
+ StartSNOMEDCTInferenceJobCommandInput,
+ StartSNOMEDCTInferenceJobCommandOutput,
+} from "./commands/StartSNOMEDCTInferenceJobCommand";
import {
StopEntitiesDetectionV2JobCommandInput,
StopEntitiesDetectionV2JobCommandOutput,
@@ -118,6 +131,10 @@ import {
StopRxNormInferenceJobCommandInput,
StopRxNormInferenceJobCommandOutput,
} from "./commands/StopRxNormInferenceJobCommand";
+import {
+ StopSNOMEDCTInferenceJobCommandInput,
+ StopSNOMEDCTInferenceJobCommandOutput,
+} from "./commands/StopSNOMEDCTInferenceJobCommand";
import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
export type ServiceInputTypes =
@@ -125,46 +142,56 @@ export type ServiceInputTypes =
| DescribeICD10CMInferenceJobCommandInput
| DescribePHIDetectionJobCommandInput
| DescribeRxNormInferenceJobCommandInput
+ | DescribeSNOMEDCTInferenceJobCommandInput
| DetectEntitiesCommandInput
| DetectEntitiesV2CommandInput
| DetectPHICommandInput
| InferICD10CMCommandInput
| InferRxNormCommandInput
+ | InferSNOMEDCTCommandInput
| ListEntitiesDetectionV2JobsCommandInput
| ListICD10CMInferenceJobsCommandInput
| ListPHIDetectionJobsCommandInput
| ListRxNormInferenceJobsCommandInput
+ | ListSNOMEDCTInferenceJobsCommandInput
| StartEntitiesDetectionV2JobCommandInput
| StartICD10CMInferenceJobCommandInput
| StartPHIDetectionJobCommandInput
| StartRxNormInferenceJobCommandInput
+ | StartSNOMEDCTInferenceJobCommandInput
| StopEntitiesDetectionV2JobCommandInput
| StopICD10CMInferenceJobCommandInput
| StopPHIDetectionJobCommandInput
- | StopRxNormInferenceJobCommandInput;
+ | StopRxNormInferenceJobCommandInput
+ | StopSNOMEDCTInferenceJobCommandInput;
export type ServiceOutputTypes =
| DescribeEntitiesDetectionV2JobCommandOutput
| DescribeICD10CMInferenceJobCommandOutput
| DescribePHIDetectionJobCommandOutput
| DescribeRxNormInferenceJobCommandOutput
+ | DescribeSNOMEDCTInferenceJobCommandOutput
| DetectEntitiesCommandOutput
| DetectEntitiesV2CommandOutput
| DetectPHICommandOutput
| InferICD10CMCommandOutput
| InferRxNormCommandOutput
+ | InferSNOMEDCTCommandOutput
| ListEntitiesDetectionV2JobsCommandOutput
| ListICD10CMInferenceJobsCommandOutput
| ListPHIDetectionJobsCommandOutput
| ListRxNormInferenceJobsCommandOutput
+ | ListSNOMEDCTInferenceJobsCommandOutput
| StartEntitiesDetectionV2JobCommandOutput
| StartICD10CMInferenceJobCommandOutput
| StartPHIDetectionJobCommandOutput
| StartRxNormInferenceJobCommandOutput
+ | StartSNOMEDCTInferenceJobCommandOutput
| StopEntitiesDetectionV2JobCommandOutput
| StopICD10CMInferenceJobCommandOutput
| StopPHIDetectionJobCommandOutput
- | StopRxNormInferenceJobCommandOutput;
+ | StopRxNormInferenceJobCommandOutput
+ | StopSNOMEDCTInferenceJobCommandOutput;
export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
/**
@@ -315,7 +342,7 @@ type ComprehendMedicalClientResolvedConfigType = __SmithyResolvedConfiguration<_
export interface ComprehendMedicalClientResolvedConfig extends ComprehendMedicalClientResolvedConfigType {}
/**
- * Amazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions
+ *
Comprehend Medical; extracts structured information from unstructured clinical text. Use these actions
* to gain insight in your documents.
*/
export class ComprehendMedicalClient extends __Client<
diff --git a/clients/client-comprehendmedical/src/commands/DescribeSNOMEDCTInferenceJobCommand.ts b/clients/client-comprehendmedical/src/commands/DescribeSNOMEDCTInferenceJobCommand.ts
new file mode 100644
index 000000000000..e94d6b3a3c13
--- /dev/null
+++ b/clients/client-comprehendmedical/src/commands/DescribeSNOMEDCTInferenceJobCommand.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 {
+ ComprehendMedicalClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../ComprehendMedicalClient";
+import { DescribeSNOMEDCTInferenceJobRequest, DescribeSNOMEDCTInferenceJobResponse } from "../models/models_0";
+import {
+ deserializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand,
+ serializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand,
+} from "../protocols/Aws_json1_1";
+
+export interface DescribeSNOMEDCTInferenceJobCommandInput extends DescribeSNOMEDCTInferenceJobRequest {}
+export interface DescribeSNOMEDCTInferenceJobCommandOutput
+ extends DescribeSNOMEDCTInferenceJobResponse,
+ __MetadataBearer {}
+
+/**
+ *
+ * Gets the properties associated with an InferSNOMEDCT job. Use this operation to get the status of an inference job.
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ComprehendMedicalClient, DescribeSNOMEDCTInferenceJobCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import
+ * // const { ComprehendMedicalClient, DescribeSNOMEDCTInferenceJobCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import
+ * const client = new ComprehendMedicalClient(config);
+ * const command = new DescribeSNOMEDCTInferenceJobCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link DescribeSNOMEDCTInferenceJobCommandInput} for command's `input` shape.
+ * @see {@link DescribeSNOMEDCTInferenceJobCommandOutput} for command's `response` shape.
+ * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape.
+ *
+ */
+export class DescribeSNOMEDCTInferenceJobCommand extends $Command<
+ DescribeSNOMEDCTInferenceJobCommandInput,
+ DescribeSNOMEDCTInferenceJobCommandOutput,
+ ComprehendMedicalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DescribeSNOMEDCTInferenceJobCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ComprehendMedicalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ComprehendMedicalClient";
+ const commandName = "DescribeSNOMEDCTInferenceJobCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: DescribeSNOMEDCTInferenceJobRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: DescribeSNOMEDCTInferenceJobResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: DescribeSNOMEDCTInferenceJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-comprehendmedical/src/commands/InferSNOMEDCTCommand.ts b/clients/client-comprehendmedical/src/commands/InferSNOMEDCTCommand.ts
new file mode 100644
index 000000000000..871061077431
--- /dev/null
+++ b/clients/client-comprehendmedical/src/commands/InferSNOMEDCTCommand.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 {
+ ComprehendMedicalClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../ComprehendMedicalClient";
+import { InferSNOMEDCTRequest, InferSNOMEDCTResponse } from "../models/models_0";
+import {
+ deserializeAws_json1_1InferSNOMEDCTCommand,
+ serializeAws_json1_1InferSNOMEDCTCommand,
+} from "../protocols/Aws_json1_1";
+
+export interface InferSNOMEDCTCommandInput extends InferSNOMEDCTRequest {}
+export interface InferSNOMEDCTCommandOutput extends InferSNOMEDCTResponse, __MetadataBearer {}
+
+/**
+ *
+ * InferSNOMEDCT detects possible medical concepts as entities and links them to codes from the Systematized Nomenclature of Medicine, Clinical Terms (SNOMED-CT) ontology
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ComprehendMedicalClient, InferSNOMEDCTCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import
+ * // const { ComprehendMedicalClient, InferSNOMEDCTCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import
+ * const client = new ComprehendMedicalClient(config);
+ * const command = new InferSNOMEDCTCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link InferSNOMEDCTCommandInput} for command's `input` shape.
+ * @see {@link InferSNOMEDCTCommandOutput} for command's `response` shape.
+ * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape.
+ *
+ */
+export class InferSNOMEDCTCommand extends $Command<
+ InferSNOMEDCTCommandInput,
+ InferSNOMEDCTCommandOutput,
+ ComprehendMedicalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: InferSNOMEDCTCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ComprehendMedicalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ComprehendMedicalClient";
+ const commandName = "InferSNOMEDCTCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: InferSNOMEDCTRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: InferSNOMEDCTResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: InferSNOMEDCTCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_json1_1InferSNOMEDCTCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_json1_1InferSNOMEDCTCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-comprehendmedical/src/commands/ListSNOMEDCTInferenceJobsCommand.ts b/clients/client-comprehendmedical/src/commands/ListSNOMEDCTInferenceJobsCommand.ts
new file mode 100644
index 000000000000..5dfa225fa3ca
--- /dev/null
+++ b/clients/client-comprehendmedical/src/commands/ListSNOMEDCTInferenceJobsCommand.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 {
+ ComprehendMedicalClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../ComprehendMedicalClient";
+import { ListSNOMEDCTInferenceJobsRequest, ListSNOMEDCTInferenceJobsResponse } from "../models/models_0";
+import {
+ deserializeAws_json1_1ListSNOMEDCTInferenceJobsCommand,
+ serializeAws_json1_1ListSNOMEDCTInferenceJobsCommand,
+} from "../protocols/Aws_json1_1";
+
+export interface ListSNOMEDCTInferenceJobsCommandInput extends ListSNOMEDCTInferenceJobsRequest {}
+export interface ListSNOMEDCTInferenceJobsCommandOutput extends ListSNOMEDCTInferenceJobsResponse, __MetadataBearer {}
+
+/**
+ *
+ * Gets a list of InferSNOMEDCT jobs a user has submitted.
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ComprehendMedicalClient, ListSNOMEDCTInferenceJobsCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import
+ * // const { ComprehendMedicalClient, ListSNOMEDCTInferenceJobsCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import
+ * const client = new ComprehendMedicalClient(config);
+ * const command = new ListSNOMEDCTInferenceJobsCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ListSNOMEDCTInferenceJobsCommandInput} for command's `input` shape.
+ * @see {@link ListSNOMEDCTInferenceJobsCommandOutput} for command's `response` shape.
+ * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape.
+ *
+ */
+export class ListSNOMEDCTInferenceJobsCommand extends $Command<
+ ListSNOMEDCTInferenceJobsCommandInput,
+ ListSNOMEDCTInferenceJobsCommandOutput,
+ ComprehendMedicalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ListSNOMEDCTInferenceJobsCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ComprehendMedicalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ComprehendMedicalClient";
+ const commandName = "ListSNOMEDCTInferenceJobsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ListSNOMEDCTInferenceJobsRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ListSNOMEDCTInferenceJobsResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ListSNOMEDCTInferenceJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_json1_1ListSNOMEDCTInferenceJobsCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1ListSNOMEDCTInferenceJobsCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-comprehendmedical/src/commands/StartSNOMEDCTInferenceJobCommand.ts b/clients/client-comprehendmedical/src/commands/StartSNOMEDCTInferenceJobCommand.ts
new file mode 100644
index 000000000000..110ba4311348
--- /dev/null
+++ b/clients/client-comprehendmedical/src/commands/StartSNOMEDCTInferenceJobCommand.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 {
+ ComprehendMedicalClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../ComprehendMedicalClient";
+import { StartSNOMEDCTInferenceJobRequest, StartSNOMEDCTInferenceJobResponse } from "../models/models_0";
+import {
+ deserializeAws_json1_1StartSNOMEDCTInferenceJobCommand,
+ serializeAws_json1_1StartSNOMEDCTInferenceJobCommand,
+} from "../protocols/Aws_json1_1";
+
+export interface StartSNOMEDCTInferenceJobCommandInput extends StartSNOMEDCTInferenceJobRequest {}
+export interface StartSNOMEDCTInferenceJobCommandOutput extends StartSNOMEDCTInferenceJobResponse, __MetadataBearer {}
+
+/**
+ *
+ * Starts an asynchronous job to detect medical concepts and link them to the SNOMED-CT ontology. Use the DescribeSNOMEDCTInferenceJob operation to track the status of a job.
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ComprehendMedicalClient, StartSNOMEDCTInferenceJobCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import
+ * // const { ComprehendMedicalClient, StartSNOMEDCTInferenceJobCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import
+ * const client = new ComprehendMedicalClient(config);
+ * const command = new StartSNOMEDCTInferenceJobCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link StartSNOMEDCTInferenceJobCommandInput} for command's `input` shape.
+ * @see {@link StartSNOMEDCTInferenceJobCommandOutput} for command's `response` shape.
+ * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape.
+ *
+ */
+export class StartSNOMEDCTInferenceJobCommand extends $Command<
+ StartSNOMEDCTInferenceJobCommandInput,
+ StartSNOMEDCTInferenceJobCommandOutput,
+ ComprehendMedicalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: StartSNOMEDCTInferenceJobCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ComprehendMedicalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ComprehendMedicalClient";
+ const commandName = "StartSNOMEDCTInferenceJobCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: StartSNOMEDCTInferenceJobRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: StartSNOMEDCTInferenceJobResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: StartSNOMEDCTInferenceJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_json1_1StartSNOMEDCTInferenceJobCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1StartSNOMEDCTInferenceJobCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-comprehendmedical/src/commands/StopSNOMEDCTInferenceJobCommand.ts b/clients/client-comprehendmedical/src/commands/StopSNOMEDCTInferenceJobCommand.ts
new file mode 100644
index 000000000000..c60cb13ae1be
--- /dev/null
+++ b/clients/client-comprehendmedical/src/commands/StopSNOMEDCTInferenceJobCommand.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 {
+ ComprehendMedicalClientResolvedConfig,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+} from "../ComprehendMedicalClient";
+import { StopSNOMEDCTInferenceJobRequest, StopSNOMEDCTInferenceJobResponse } from "../models/models_0";
+import {
+ deserializeAws_json1_1StopSNOMEDCTInferenceJobCommand,
+ serializeAws_json1_1StopSNOMEDCTInferenceJobCommand,
+} from "../protocols/Aws_json1_1";
+
+export interface StopSNOMEDCTInferenceJobCommandInput extends StopSNOMEDCTInferenceJobRequest {}
+export interface StopSNOMEDCTInferenceJobCommandOutput extends StopSNOMEDCTInferenceJobResponse, __MetadataBearer {}
+
+/**
+ *
+ * Stops an InferSNOMEDCT inference job in progress.
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ComprehendMedicalClient, StopSNOMEDCTInferenceJobCommand } from "@aws-sdk/client-comprehendmedical"; // ES Modules import
+ * // const { ComprehendMedicalClient, StopSNOMEDCTInferenceJobCommand } = require("@aws-sdk/client-comprehendmedical"); // CommonJS import
+ * const client = new ComprehendMedicalClient(config);
+ * const command = new StopSNOMEDCTInferenceJobCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link StopSNOMEDCTInferenceJobCommandInput} for command's `input` shape.
+ * @see {@link StopSNOMEDCTInferenceJobCommandOutput} for command's `response` shape.
+ * @see {@link ComprehendMedicalClientResolvedConfig | config} for ComprehendMedicalClient's `config` shape.
+ *
+ */
+export class StopSNOMEDCTInferenceJobCommand extends $Command<
+ StopSNOMEDCTInferenceJobCommandInput,
+ StopSNOMEDCTInferenceJobCommandOutput,
+ ComprehendMedicalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: StopSNOMEDCTInferenceJobCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ComprehendMedicalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ComprehendMedicalClient";
+ const commandName = "StopSNOMEDCTInferenceJobCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: StopSNOMEDCTInferenceJobRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: StopSNOMEDCTInferenceJobResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: StopSNOMEDCTInferenceJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_json1_1StopSNOMEDCTInferenceJobCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_json1_1StopSNOMEDCTInferenceJobCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-comprehendmedical/src/commands/index.ts b/clients/client-comprehendmedical/src/commands/index.ts
index 19b38e0d2892..1c18ff64565c 100644
--- a/clients/client-comprehendmedical/src/commands/index.ts
+++ b/clients/client-comprehendmedical/src/commands/index.ts
@@ -2,20 +2,25 @@ export * from "./DescribeEntitiesDetectionV2JobCommand";
export * from "./DescribeICD10CMInferenceJobCommand";
export * from "./DescribePHIDetectionJobCommand";
export * from "./DescribeRxNormInferenceJobCommand";
+export * from "./DescribeSNOMEDCTInferenceJobCommand";
export * from "./DetectEntitiesCommand";
export * from "./DetectEntitiesV2Command";
export * from "./DetectPHICommand";
export * from "./InferICD10CMCommand";
export * from "./InferRxNormCommand";
+export * from "./InferSNOMEDCTCommand";
export * from "./ListEntitiesDetectionV2JobsCommand";
export * from "./ListICD10CMInferenceJobsCommand";
export * from "./ListPHIDetectionJobsCommand";
export * from "./ListRxNormInferenceJobsCommand";
+export * from "./ListSNOMEDCTInferenceJobsCommand";
export * from "./StartEntitiesDetectionV2JobCommand";
export * from "./StartICD10CMInferenceJobCommand";
export * from "./StartPHIDetectionJobCommand";
export * from "./StartRxNormInferenceJobCommand";
+export * from "./StartSNOMEDCTInferenceJobCommand";
export * from "./StopEntitiesDetectionV2JobCommand";
export * from "./StopICD10CMInferenceJobCommand";
export * from "./StopPHIDetectionJobCommand";
export * from "./StopRxNormInferenceJobCommand";
+export * from "./StopSNOMEDCTInferenceJobCommand";
diff --git a/clients/client-comprehendmedical/src/endpoints.ts b/clients/client-comprehendmedical/src/endpoints.ts
index 538da94ed073..de05721735cd 100644
--- a/clients/client-comprehendmedical/src/endpoints.ts
+++ b/clients/client-comprehendmedical/src/endpoints.ts
@@ -63,6 +63,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-comprehendmedical/src/models/models_0.ts b/clients/client-comprehendmedical/src/models/models_0.ts
index 098851553ef4..85ce59fde449 100644
--- a/clients/client-comprehendmedical/src/models/models_0.ts
+++ b/clients/client-comprehendmedical/src/models/models_0.ts
@@ -25,6 +25,7 @@ export enum RelationshipType {
ROUTE_OR_MODE = "ROUTE_OR_MODE",
STRENGTH = "STRENGTH",
SYSTEM_ORGAN_SITE = "SYSTEM_ORGAN_SITE",
+ TEST_UNIT = "TEST_UNIT",
TEST_UNITS = "TEST_UNITS",
TEST_VALUE = "TEST_VALUE",
WITH_DOSAGE = "WITH_DOSAGE",
@@ -47,7 +48,7 @@ export interface Trait {
Name?: AttributeName | string;
/**
- * The level of confidence that Amazon Comprehend Medical has in the accuracy of this trait.
+ * The level of confidence that Comprehend Medical; has in the accuracy of this trait.
*/
Score?: number;
}
@@ -71,12 +72,15 @@ export enum EntitySubType {
DIRECTION = "DIRECTION",
DOSAGE = "DOSAGE",
DURATION = "DURATION",
+ DX_NAME = "DX_NAME",
EMAIL = "EMAIL",
FORM = "FORM",
FREQUENCY = "FREQUENCY",
GENERIC_NAME = "GENERIC_NAME",
+ ID = "ID",
IDENTIFIER = "IDENTIFIER",
NAME = "NAME",
+ PHONE_OR_FAX = "PHONE_OR_FAX",
PROCEDURE_NAME = "PROCEDURE_NAME",
PROFESSION = "PROFESSION",
QUALITY = "QUALITY",
@@ -86,6 +90,7 @@ export enum EntitySubType {
STRENGTH = "STRENGTH",
SYSTEM_ORGAN_SITE = "SYSTEM_ORGAN_SITE",
TEST_NAME = "TEST_NAME",
+ TEST_UNIT = "TEST_UNIT",
TEST_UNITS = "TEST_UNITS",
TEST_VALUE = "TEST_VALUE",
TIME_EXPRESSION = "TIME_EXPRESSION",
@@ -111,13 +116,13 @@ export interface Attribute {
Type?: EntitySubType | string;
/**
- * The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized
+ *
The level of confidence that Comprehend Medical; has that the segment of text is correctly recognized
* as an attribute.
*/
Score?: number;
/**
- * The level of confidence that Amazon Comprehend Medical has that this attribute is correctly related to this
+ *
The level of confidence that Comprehend Medical; has that this attribute is correctly related to this
* entity.
*/
RelationshipScore?: number;
@@ -172,9 +177,32 @@ export namespace Attribute {
});
}
+/**
+ *
+ * The number of characters in the input text to be analyzed.
+ *
+ */
+export interface Characters {
+ /**
+ *
+ * The number of characters present in the input text document as processed by Comprehend Medical.
+ *
+ */
+ OriginalTextCharacters?: number;
+}
+
+export namespace Characters {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: Characters): any => ({
+ ...obj,
+ });
+}
+
export interface DescribeEntitiesDetectionV2JobRequest {
/**
- * The identifier that Amazon Comprehend Medical generated for the job. The
+ *
The identifier that Comprehend Medical; generated for the job. The
* StartEntitiesDetectionV2Job
operation returns this identifier in its
* response.
*/
@@ -245,7 +273,7 @@ export interface OutputDataConfig {
S3Bucket: string | undefined;
/**
- * The path to the output data files in the S3 bucket. Amazon Comprehend Medical creates an output directory
+ *
The path to the output data files in the S3 bucket. Comprehend Medical; creates an output directory
* using the job ID so that the output from one job does not overwrite the output of
* another.
*/
@@ -320,7 +348,7 @@ export interface ComprehendMedicalAsyncJobProperties {
LanguageCode?: LanguageCode | string;
/**
- * The Amazon Resource Name (ARN) that gives Amazon Comprehend Medical read access to your input data.
+ * The Amazon Resource Name (ARN) that gives Comprehend Medical; read access to your input data.
*/
DataAccessRoleArn?: string;
@@ -478,7 +506,7 @@ export namespace DescribeICD10CMInferenceJobResponse {
export interface DescribePHIDetectionJobRequest {
/**
- * The identifier that Amazon Comprehend Medical generated for the job. The StartPHIDetectionJob
+ *
The identifier that Comprehend Medical; generated for the job. The StartPHIDetectionJob
* operation returns this identifier in its response.
*/
JobId: string | undefined;
@@ -542,6 +570,40 @@ export namespace DescribeRxNormInferenceJobResponse {
});
}
+export interface DescribeSNOMEDCTInferenceJobRequest {
+ /**
+ *
+ * The identifier that Amazon Comprehend Medical generated for the job. The StartSNOMEDCTInferenceJob operation returns this identifier in its response.
+ *
+ */
+ JobId: string | undefined;
+}
+
+export namespace DescribeSNOMEDCTInferenceJobRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DescribeSNOMEDCTInferenceJobRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface DescribeSNOMEDCTInferenceJobResponse {
+ /**
+ * Provides information about a detection job.
+ */
+ ComprehendMedicalAsyncJobProperties?: ComprehendMedicalAsyncJobProperties;
+}
+
+export namespace DescribeSNOMEDCTInferenceJobResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DescribeSNOMEDCTInferenceJobResponse): any => ({
+ ...obj,
+ });
+}
+
export interface DetectEntitiesRequest {
/**
* A UTF-8 text string containing the clinical content being examined for entities. Each
@@ -582,7 +644,7 @@ export interface Entity {
EndOffset?: number;
/**
- *
The level of confidence that Amazon Comprehend Medical has in the accuracy of the detection.
+ * The level of confidence that Comprehend Medical; has in the accuracy of the detection.
*/
Score?: number;
@@ -622,11 +684,11 @@ export namespace Entity {
}
/**
- * An attribute that we extracted, but were unable to relate to an entity.
+ * An attribute that was extracted, but Comprehend Medical; was unable to relate to an entity.
*/
export interface UnmappedAttribute {
/**
- * The type of the attribute, could be one of the following values: "MEDICATION",
+ *
The type of the unmapped attribute, could be one of the following values: "MEDICATION",
* "MEDICAL_CONDITION", "ANATOMY", "TEST_AND_TREATMENT_PROCEDURE" or
* "PROTECTED_HEALTH_INFORMATION".
*/
@@ -651,7 +713,7 @@ export interface DetectEntitiesResponse {
/**
* The collection of medical entities extracted from the input text and their associated
* information. For each entity, the response provides the entity text, the entity category,
- * where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in the
+ * where the entity text begins and ends, and the level of confidence that Comprehend Medical; has in the
* detection and analysis. Attributes and traits of the entity are also returned.
*/
Entities: Entity[] | undefined;
@@ -705,7 +767,7 @@ export namespace InvalidEncodingException {
}
/**
- * The Amazon Comprehend Medical service is temporarily unavailable. Please wait and then retry your request.
+ *
The Comprehend Medical; service is temporarily unavailable. Please wait and then retry your request.
*
*/
export interface ServiceUnavailableException extends __SmithyException, $MetadataBearer {
@@ -817,7 +879,7 @@ export interface DetectPHIResponse {
/**
* The collection of PHI entities extracted from the input text and their associated
* information. For each entity, the response provides the entity text, the entity category,
- * where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in its
+ * where the entity text begins and ends, and the level of confidence that Comprehend Medical; has in its
* detection.
*/
Entities: Entity[] | undefined;
@@ -891,7 +953,7 @@ export interface ICD10CMTrait {
Name?: ICD10CMTraitName | string;
/**
- * The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized
+ *
The level of confidence that Comprehend Medical; has that the segment of text is correctly recognized
* as a trait.
*/
Score?: number;
@@ -1410,6 +1472,391 @@ export namespace InferRxNormResponse {
});
}
+export interface InferSNOMEDCTRequest {
+ /**
+ *
+ * The input text to be analyzed using InferSNOMEDCT. The text should be a string with 1 to 10000 characters.
+ *
+ */
+ Text: string | undefined;
+}
+
+export namespace InferSNOMEDCTRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: InferSNOMEDCTRequest): any => ({
+ ...obj,
+ });
+}
+
+export enum SNOMEDCTEntityCategory {
+ ANATOMY = "ANATOMY",
+ MEDICAL_CONDITION = "MEDICAL_CONDITION",
+ TEST_TREATMENT_PROCEDURE = "TEST_TREATMENT_PROCEDURE",
+}
+
+export enum SNOMEDCTRelationshipType {
+ ACUITY = "ACUITY",
+ DIRECTION = "DIRECTION",
+ QUALITY = "QUALITY",
+ SYSTEM_ORGAN_SITE = "SYSTEM_ORGAN_SITE",
+ TEST_UNITS = "TEST_UNITS",
+ TEST_VALUE = "TEST_VALUE",
+}
+
+/**
+ *
+ * The SNOMED-CT concepts that the entity could refer to, along with a score indicating the likelihood of the match.
+ *
+ */
+export interface SNOMEDCTConcept {
+ /**
+ *
+ * The description of the SNOMED-CT concept.
+ *
+ */
+ Description?: string;
+
+ /**
+ *
+ * The numeric ID for the SNOMED-CT concept.
+ *
+ */
+ Code?: string;
+
+ /**
+ *
+ * The level of confidence Comprehend Medical has that the entity should be linked to the identified SNOMED-CT concept.
+ *
+ */
+ Score?: number;
+}
+
+export namespace SNOMEDCTConcept {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SNOMEDCTConcept): any => ({
+ ...obj,
+ });
+}
+
+export enum SNOMEDCTTraitName {
+ DIAGNOSIS = "DIAGNOSIS",
+ NEGATION = "NEGATION",
+ SIGN = "SIGN",
+ SYMPTOM = "SYMPTOM",
+}
+
+/**
+ *
+ * Contextual information for an entity.
+ *
+ */
+export interface SNOMEDCTTrait {
+ /**
+ *
+ * The name or contextual description of a detected trait.
+ *
+ */
+ Name?: SNOMEDCTTraitName | string;
+
+ /**
+ *
+ * The level of confidence that Comprehend Medical has in the accuracy of a detected trait.
+ *
+ */
+ Score?: number;
+}
+
+export namespace SNOMEDCTTrait {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SNOMEDCTTrait): any => ({
+ ...obj,
+ });
+}
+
+export enum SNOMEDCTAttributeType {
+ ACUITY = "ACUITY",
+ DIRECTION = "DIRECTION",
+ QUALITY = "QUALITY",
+ SYSTEM_ORGAN_SITE = "SYSTEM_ORGAN_SITE",
+ TEST_UNIT = "TEST_UNIT",
+ TEST_VALUE = "TEST_VALUE",
+}
+
+/**
+ *
+ * The extracted attributes that relate to an entity. An extracted segment of the text that is an attribute of an entity, or otherwise related to an entity, such as the dosage of a medication taken.
+ *
+ */
+export interface SNOMEDCTAttribute {
+ /**
+ *
+ * The category of the detected attribute. Possible categories include MEDICAL_CONDITION, ANATOMY, and TEST_TREATMENT_PROCEDURE.
+ *
+ */
+ Category?: SNOMEDCTEntityCategory | string;
+
+ /**
+ *
+ * The type of attribute. Possible types include DX_NAME, ACUITY, DIRECTION, SYSTEM_ORGAN_SITE,TEST_NAME, TEST_VALUE, TEST_UNIT, PROCEDURE_NAME, and TREATMENT_NAME.
+ *
+ */
+ Type?: SNOMEDCTAttributeType | string;
+
+ /**
+ *
+ * The level of confidence that Comprehend Medical has that the segment of text is correctly recognized as an attribute.
+ *
+ */
+ Score?: number;
+
+ /**
+ *
+ * The level of confidence that Comprehend Medical has that this attribute is correctly related to this entity.
+ *
+ */
+ RelationshipScore?: number;
+
+ /**
+ *
+ * The type of relationship that exists between the entity and the related attribute.
+ *
+ */
+ RelationshipType?: SNOMEDCTRelationshipType | string;
+
+ /**
+ *
+ * The numeric identifier for this attribute. This is a monotonically increasing id unique within this response rather than a global unique identifier.
+ *
+ */
+ Id?: number;
+
+ /**
+ *
+ * The 0-based character offset in the input text that shows where the attribute begins. The offset returns the UTF-8 code point in the string.
+ *
+ */
+ BeginOffset?: number;
+
+ /**
+ *
+ * The 0-based character offset in the input text that shows where the attribute ends. The offset returns the UTF-8 code point in the string.
+ *
+ */
+ EndOffset?: number;
+
+ /**
+ *
+ * The segment of input text extracted as this attribute.
+ *
+ */
+ Text?: string;
+
+ /**
+ *
+ * Contextual information for an attribute. Examples include signs, symptoms, diagnosis, and negation.
+ *
+ */
+ Traits?: SNOMEDCTTrait[];
+
+ /**
+ *
+ * The SNOMED-CT concepts specific to an attribute, along with a score indicating the likelihood of the match.
+ *
+ */
+ SNOMEDCTConcepts?: SNOMEDCTConcept[];
+}
+
+export namespace SNOMEDCTAttribute {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SNOMEDCTAttribute): any => ({
+ ...obj,
+ });
+}
+
+export enum SNOMEDCTEntityType {
+ DX_NAME = "DX_NAME",
+ PROCEDURE_NAME = "PROCEDURE_NAME",
+ TEST_NAME = "TEST_NAME",
+ TREATMENT_NAME = "TREATMENT_NAME",
+}
+
+/**
+ *
+ * The collection of medical entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence that Comprehend Medical has in the detection and analysis. Attributes and traits of the entity are also returned.
+ *
+ */
+export interface SNOMEDCTEntity {
+ /**
+ *
+ * The numeric identifier for the entity. This is a monotonically increasing id unique within this response rather than a global unique identifier.
+ *
+ */
+ Id?: number;
+
+ /**
+ *
+ * The segment of input text extracted as this entity.
+ *
+ */
+ Text?: string;
+
+ /**
+ *
+ * The category of the detected entity. Possible categories are MEDICAL_CONDITION, ANATOMY, or TEST_TREATMENT_PROCEDURE.
+ *
+ */
+ Category?: SNOMEDCTEntityCategory | string;
+
+ /**
+ *
+ * Describes the specific type of entity with category of entities. Possible types include DX_NAME, ACUITY, DIRECTION, SYSTEM_ORGAN_SITE, TEST_NAME, TEST_VALUE, TEST_UNIT, PROCEDURE_NAME, or TREATMENT_NAME.
+ *
+ */
+ Type?: SNOMEDCTEntityType | string;
+
+ /**
+ *
+ * The level of confidence that Comprehend Medical has in the accuracy of the detected entity.
+ *
+ */
+ Score?: number;
+
+ /**
+ *
+ * The 0-based character offset in the input text that shows where the entity begins. The offset returns the UTF-8 code point in the string.
+ *
+ */
+ BeginOffset?: number;
+
+ /**
+ *
+ * The 0-based character offset in the input text that shows where the entity ends. The offset returns the UTF-8 code point in the string.
+ *
+ */
+ EndOffset?: number;
+
+ /**
+ *
+ * An extracted segment of the text that is an attribute of an entity, or otherwise related to an entity, such as the dosage of a medication taken.
+ *
+ */
+ Attributes?: SNOMEDCTAttribute[];
+
+ /**
+ *
+ * Contextual information for the entity.
+ *
+ */
+ Traits?: SNOMEDCTTrait[];
+
+ /**
+ *
+ * The SNOMED concepts that the entity could refer to, along with a score indicating the likelihood of the match.
+ *
+ */
+ SNOMEDCTConcepts?: SNOMEDCTConcept[];
+}
+
+export namespace SNOMEDCTEntity {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SNOMEDCTEntity): any => ({
+ ...obj,
+ });
+}
+
+/**
+ *
+ * The information about the revision of the SNOMED-CT ontology in the response. Specifically, the details include the SNOMED-CT edition, language, and version date.
+ *
+ */
+export interface SNOMEDCTDetails {
+ /**
+ *
+ * The edition of SNOMED-CT used. The edition used for the InferSNOMEDCT editions is the US edition.
+ *
+ */
+ Edition?: string;
+
+ /**
+ *
+ * The language used in the SNOMED-CT ontology. All Amazon Comprehend Medical operations are US English (en).
+ *
+ */
+ Language?: string;
+
+ /**
+ *
+ * The version date of the SNOMED-CT ontology used.
+ *
+ */
+ VersionDate?: string;
+}
+
+export namespace SNOMEDCTDetails {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SNOMEDCTDetails): any => ({
+ ...obj,
+ });
+}
+
+export interface InferSNOMEDCTResponse {
+ /**
+ *
+ * The collection of medical concept entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence that Comprehend Medical has in the detection and analysis. Attributes and traits of the entity are also returned.
+ *
+ */
+ Entities: SNOMEDCTEntity[] | undefined;
+
+ /**
+ *
+ * If the result of the request is truncated, the pagination token can be used to fetch the next page of entities.
+ *
+ */
+ PaginationToken?: string;
+
+ /**
+ *
+ * The version of the model used to analyze the documents, in the format n.n.n You can use this information to track the model used for a particular batch of documents.
+ *
+ */
+ ModelVersion?: string;
+
+ /**
+ *
+ * The details of the SNOMED-CT revision, including the edition, language, and version date.
+ *
+ */
+ SNOMEDCTDetails?: SNOMEDCTDetails;
+
+ /**
+ *
+ * The number of characters in the input request documentation.
+ *
+ */
+ Characters?: Characters;
+}
+
+export namespace InferSNOMEDCTResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: InferSNOMEDCTResponse): any => ({
+ ...obj,
+ });
+}
+
/**
* Provides information for filtering a list of detection jobs.
*/
@@ -1660,20 +2107,75 @@ export namespace ListRxNormInferenceJobsResponse {
});
}
+export interface ListSNOMEDCTInferenceJobsRequest {
+ /**
+ * Provides information for filtering a list of detection jobs.
+ */
+ Filter?: ComprehendMedicalAsyncJobFilter;
+
+ /**
+ *
+ * Identifies the next page of InferSNOMEDCT results to return.
+ *
+ */
+ NextToken?: string;
+
+ /**
+ *
+ * The maximum number of results to return in each page. The default is 100.
+ *
+ */
+ MaxResults?: number;
+}
+
+export namespace ListSNOMEDCTInferenceJobsRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListSNOMEDCTInferenceJobsRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface ListSNOMEDCTInferenceJobsResponse {
+ /**
+ *
+ * A list containing the properties of each job that is returned.
+ *
+ */
+ ComprehendMedicalAsyncJobPropertiesList?: ComprehendMedicalAsyncJobProperties[];
+
+ /**
+ *
+ * Identifies the next page of results to return.
+ *
+ */
+ NextToken?: string;
+}
+
+export namespace ListSNOMEDCTInferenceJobsResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListSNOMEDCTInferenceJobsResponse): any => ({
+ ...obj,
+ });
+}
+
export interface StartEntitiesDetectionV2JobRequest {
/**
- * Specifies the format and location of the input data for the job.
+ * The input configuration that specifies the format and location of the input data for the job.
*/
InputDataConfig: InputDataConfig | undefined;
/**
- * Specifies where to send the output files.
+ * The output configuration that specifies where to send the output files.
*/
OutputDataConfig: OutputDataConfig | undefined;
/**
* The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that
- * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
+ * grants Comprehend Medical; read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
*/
DataAccessRoleArn: string | undefined;
@@ -1683,8 +2185,8 @@ export interface StartEntitiesDetectionV2JobRequest {
JobName?: string;
/**
- * A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical
- * generates one.
+ * A unique identifier for the request. If you don't set the client request token, Comprehend Medical;
+ * generates one for you.
*/
ClientRequestToken?: string;
@@ -1695,7 +2197,7 @@ export interface StartEntitiesDetectionV2JobRequest {
KMSKey?: string;
/**
- * The language of the input documents. All documents must be in the same language.
+ * The language of the input documents. All documents must be in the same language. Comprehend Medical; processes files in US English (en).
*/
LanguageCode: LanguageCode | string | undefined;
}
@@ -1739,7 +2241,7 @@ export interface StartICD10CMInferenceJobRequest {
/**
* The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that
- * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
+ * grants Comprehend Medical; read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
*/
DataAccessRoleArn: string | undefined;
@@ -1749,7 +2251,7 @@ export interface StartICD10CMInferenceJobRequest {
JobName?: string;
/**
- * A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical
+ *
A unique identifier for the request. If you don't set the client request token, Comprehend Medical;
* generates one.
*/
ClientRequestToken?: string;
@@ -1805,7 +2307,7 @@ export interface StartPHIDetectionJobRequest {
/**
* The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that
- * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
+ * grants Comprehend Medical; read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
*/
DataAccessRoleArn: string | undefined;
@@ -1815,7 +2317,7 @@ export interface StartPHIDetectionJobRequest {
JobName?: string;
/**
- * A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical
+ *
A unique identifier for the request. If you don't set the client request token, Comprehend Medical;
* generates one.
*/
ClientRequestToken?: string;
@@ -1871,7 +2373,7 @@ export interface StartRxNormInferenceJobRequest {
/**
* The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that
- * grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
+ * grants Comprehend Medical; read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.
*/
DataAccessRoleArn: string | undefined;
@@ -1881,7 +2383,7 @@ export interface StartRxNormInferenceJobRequest {
JobName?: string;
/**
- * A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical
+ *
A unique identifier for the request. If you don't set the client request token, Comprehend Medical;
* generates one.
*/
ClientRequestToken?: string;
@@ -1923,6 +2425,81 @@ export namespace StartRxNormInferenceJobResponse {
});
}
+export interface StartSNOMEDCTInferenceJobRequest {
+ /**
+ * The input properties for an entities detection job. This includes the name of the S3
+ * bucket and the path to the files to be analyzed.
+ */
+ InputDataConfig: InputDataConfig | undefined;
+
+ /**
+ * The output properties for a detection job.
+ */
+ OutputDataConfig: OutputDataConfig | undefined;
+
+ /**
+ *
+ * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend Medical read access to your input data.
+ *
+ */
+ DataAccessRoleArn: string | undefined;
+
+ /**
+ *
+ * The user generated name the asynchronous InferSNOMEDCT job.
+ *
+ */
+ JobName?: string;
+
+ /**
+ *
+ * A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical generates one.
+ *
+ */
+ ClientRequestToken?: string;
+
+ /**
+ *
+ * An AWS Key Management Service key used to encrypt your output files. If you do not specify a key, the files are written in plain text.
+ *
+ */
+ KMSKey?: string;
+
+ /**
+ *
+ * The language of the input documents. All documents must be in the same language.
+ *
+ */
+ LanguageCode: LanguageCode | string | undefined;
+}
+
+export namespace StartSNOMEDCTInferenceJobRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: StartSNOMEDCTInferenceJobRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface StartSNOMEDCTInferenceJobResponse {
+ /**
+ *
+ * The identifier generated for the job. To get the status of a job, use this identifier with the StartSNOMEDCTInferenceJob operation.
+ *
+ */
+ JobId?: string;
+}
+
+export namespace StartSNOMEDCTInferenceJobResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: StartSNOMEDCTInferenceJobResponse): any => ({
+ ...obj,
+ });
+}
+
export interface StopEntitiesDetectionV2JobRequest {
/**
* The identifier of the medical entities job to stop.
@@ -2052,3 +2629,39 @@ export namespace StopRxNormInferenceJobResponse {
...obj,
});
}
+
+export interface StopSNOMEDCTInferenceJobRequest {
+ /**
+ *
+ * The job id of the asynchronous InferSNOMEDCT job to be stopped.
+ *
+ */
+ JobId: string | undefined;
+}
+
+export namespace StopSNOMEDCTInferenceJobRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: StopSNOMEDCTInferenceJobRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface StopSNOMEDCTInferenceJobResponse {
+ /**
+ *
+ * The identifier generated for the job. To get the status of job, use this identifier with the DescribeSNOMEDCTInferenceJob operation.
+ *
+ */
+ JobId?: string;
+}
+
+export namespace StopSNOMEDCTInferenceJobResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: StopSNOMEDCTInferenceJobResponse): any => ({
+ ...obj,
+ });
+}
diff --git a/clients/client-comprehendmedical/src/protocols/Aws_json1_1.ts b/clients/client-comprehendmedical/src/protocols/Aws_json1_1.ts
index 15090a3b81ec..90c0ed373716 100644
--- a/clients/client-comprehendmedical/src/protocols/Aws_json1_1.ts
+++ b/clients/client-comprehendmedical/src/protocols/Aws_json1_1.ts
@@ -33,11 +33,16 @@ import {
DescribeRxNormInferenceJobCommandInput,
DescribeRxNormInferenceJobCommandOutput,
} from "../commands/DescribeRxNormInferenceJobCommand";
+import {
+ DescribeSNOMEDCTInferenceJobCommandInput,
+ DescribeSNOMEDCTInferenceJobCommandOutput,
+} from "../commands/DescribeSNOMEDCTInferenceJobCommand";
import { DetectEntitiesCommandInput, DetectEntitiesCommandOutput } from "../commands/DetectEntitiesCommand";
import { DetectEntitiesV2CommandInput, DetectEntitiesV2CommandOutput } from "../commands/DetectEntitiesV2Command";
import { DetectPHICommandInput, DetectPHICommandOutput } from "../commands/DetectPHICommand";
import { InferICD10CMCommandInput, InferICD10CMCommandOutput } from "../commands/InferICD10CMCommand";
import { InferRxNormCommandInput, InferRxNormCommandOutput } from "../commands/InferRxNormCommand";
+import { InferSNOMEDCTCommandInput, InferSNOMEDCTCommandOutput } from "../commands/InferSNOMEDCTCommand";
import {
ListEntitiesDetectionV2JobsCommandInput,
ListEntitiesDetectionV2JobsCommandOutput,
@@ -54,6 +59,10 @@ import {
ListRxNormInferenceJobsCommandInput,
ListRxNormInferenceJobsCommandOutput,
} from "../commands/ListRxNormInferenceJobsCommand";
+import {
+ ListSNOMEDCTInferenceJobsCommandInput,
+ ListSNOMEDCTInferenceJobsCommandOutput,
+} from "../commands/ListSNOMEDCTInferenceJobsCommand";
import {
StartEntitiesDetectionV2JobCommandInput,
StartEntitiesDetectionV2JobCommandOutput,
@@ -70,6 +79,10 @@ import {
StartRxNormInferenceJobCommandInput,
StartRxNormInferenceJobCommandOutput,
} from "../commands/StartRxNormInferenceJobCommand";
+import {
+ StartSNOMEDCTInferenceJobCommandInput,
+ StartSNOMEDCTInferenceJobCommandOutput,
+} from "../commands/StartSNOMEDCTInferenceJobCommand";
import {
StopEntitiesDetectionV2JobCommandInput,
StopEntitiesDetectionV2JobCommandOutput,
@@ -86,8 +99,13 @@ import {
StopRxNormInferenceJobCommandInput,
StopRxNormInferenceJobCommandOutput,
} from "../commands/StopRxNormInferenceJobCommand";
+import {
+ StopSNOMEDCTInferenceJobCommandInput,
+ StopSNOMEDCTInferenceJobCommandOutput,
+} from "../commands/StopSNOMEDCTInferenceJobCommand";
import {
Attribute,
+ Characters,
ComprehendMedicalAsyncJobFilter,
ComprehendMedicalAsyncJobProperties,
DescribeEntitiesDetectionV2JobRequest,
@@ -98,6 +116,8 @@ import {
DescribePHIDetectionJobResponse,
DescribeRxNormInferenceJobRequest,
DescribeRxNormInferenceJobResponse,
+ DescribeSNOMEDCTInferenceJobRequest,
+ DescribeSNOMEDCTInferenceJobResponse,
DetectEntitiesRequest,
DetectEntitiesResponse,
DetectEntitiesV2Request,
@@ -113,6 +133,8 @@ import {
InferICD10CMResponse,
InferRxNormRequest,
InferRxNormResponse,
+ InferSNOMEDCTRequest,
+ InferSNOMEDCTResponse,
InputDataConfig,
InternalServerException,
InvalidEncodingException,
@@ -125,6 +147,8 @@ import {
ListPHIDetectionJobsResponse,
ListRxNormInferenceJobsRequest,
ListRxNormInferenceJobsResponse,
+ ListSNOMEDCTInferenceJobsRequest,
+ ListSNOMEDCTInferenceJobsResponse,
OutputDataConfig,
ResourceNotFoundException,
RxNormAttribute,
@@ -132,6 +156,11 @@ import {
RxNormEntity,
RxNormTrait,
ServiceUnavailableException,
+ SNOMEDCTAttribute,
+ SNOMEDCTConcept,
+ SNOMEDCTDetails,
+ SNOMEDCTEntity,
+ SNOMEDCTTrait,
StartEntitiesDetectionV2JobRequest,
StartEntitiesDetectionV2JobResponse,
StartICD10CMInferenceJobRequest,
@@ -140,6 +169,8 @@ import {
StartPHIDetectionJobResponse,
StartRxNormInferenceJobRequest,
StartRxNormInferenceJobResponse,
+ StartSNOMEDCTInferenceJobRequest,
+ StartSNOMEDCTInferenceJobResponse,
StopEntitiesDetectionV2JobRequest,
StopEntitiesDetectionV2JobResponse,
StopICD10CMInferenceJobRequest,
@@ -148,6 +179,8 @@ import {
StopPHIDetectionJobResponse,
StopRxNormInferenceJobRequest,
StopRxNormInferenceJobResponse,
+ StopSNOMEDCTInferenceJobRequest,
+ StopSNOMEDCTInferenceJobResponse,
TextSizeLimitExceededException,
TooManyRequestsException,
Trait,
@@ -207,6 +240,19 @@ export const serializeAws_json1_1DescribeRxNormInferenceJobCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+export const serializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand = async (
+ input: DescribeSNOMEDCTInferenceJobCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amz-target": "ComprehendMedical_20181030.DescribeSNOMEDCTInferenceJob",
+ };
+ let body: any;
+ body = JSON.stringify(serializeAws_json1_1DescribeSNOMEDCTInferenceJobRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
export const serializeAws_json1_1DetectEntitiesCommand = async (
input: DetectEntitiesCommandInput,
context: __SerdeContext
@@ -272,6 +318,19 @@ export const serializeAws_json1_1InferRxNormCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+export const serializeAws_json1_1InferSNOMEDCTCommand = async (
+ input: InferSNOMEDCTCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amz-target": "ComprehendMedical_20181030.InferSNOMEDCT",
+ };
+ let body: any;
+ body = JSON.stringify(serializeAws_json1_1InferSNOMEDCTRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
export const serializeAws_json1_1ListEntitiesDetectionV2JobsCommand = async (
input: ListEntitiesDetectionV2JobsCommandInput,
context: __SerdeContext
@@ -324,6 +383,19 @@ export const serializeAws_json1_1ListRxNormInferenceJobsCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+export const serializeAws_json1_1ListSNOMEDCTInferenceJobsCommand = async (
+ input: ListSNOMEDCTInferenceJobsCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amz-target": "ComprehendMedical_20181030.ListSNOMEDCTInferenceJobs",
+ };
+ let body: any;
+ body = JSON.stringify(serializeAws_json1_1ListSNOMEDCTInferenceJobsRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
export const serializeAws_json1_1StartEntitiesDetectionV2JobCommand = async (
input: StartEntitiesDetectionV2JobCommandInput,
context: __SerdeContext
@@ -376,6 +448,19 @@ export const serializeAws_json1_1StartRxNormInferenceJobCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+export const serializeAws_json1_1StartSNOMEDCTInferenceJobCommand = async (
+ input: StartSNOMEDCTInferenceJobCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amz-target": "ComprehendMedical_20181030.StartSNOMEDCTInferenceJob",
+ };
+ let body: any;
+ body = JSON.stringify(serializeAws_json1_1StartSNOMEDCTInferenceJobRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
export const serializeAws_json1_1StopEntitiesDetectionV2JobCommand = async (
input: StopEntitiesDetectionV2JobCommandInput,
context: __SerdeContext
@@ -428,6 +513,19 @@ export const serializeAws_json1_1StopRxNormInferenceJobCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+export const serializeAws_json1_1StopSNOMEDCTInferenceJobCommand = async (
+ input: StopSNOMEDCTInferenceJobCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amz-target": "ComprehendMedical_20181030.StopSNOMEDCTInferenceJob",
+ };
+ let body: any;
+ body = JSON.stringify(serializeAws_json1_1StopSNOMEDCTInferenceJobRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
export const deserializeAws_json1_1DescribeEntitiesDetectionV2JobCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -740,6 +838,84 @@ const deserializeAws_json1_1DescribeRxNormInferenceJobCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_json1_1DescribeSNOMEDCTInferenceJobCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return deserializeAws_json1_1DescribeSNOMEDCTInferenceJobCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = deserializeAws_json1_1DescribeSNOMEDCTInferenceJobResponse(data, context);
+ const response: DescribeSNOMEDCTInferenceJobCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return Promise.resolve(response);
+};
+
+const deserializeAws_json1_1DescribeSNOMEDCTInferenceJobCommandError = async (
+ 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.comprehendmedical#InternalServerException":
+ response = {
+ ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidRequestException":
+ case "com.amazonaws.comprehendmedical#InvalidRequestException":
+ response = {
+ ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.comprehendmedical#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "TooManyRequestsException":
+ case "com.amazonaws.comprehendmedical#TooManyRequestsException":
+ response = {
+ ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_json1_1DetectEntitiesCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -1210,6 +1386,100 @@ const deserializeAws_json1_1InferRxNormCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_json1_1InferSNOMEDCTCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return deserializeAws_json1_1InferSNOMEDCTCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = deserializeAws_json1_1InferSNOMEDCTResponse(data, context);
+ const response: InferSNOMEDCTCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return Promise.resolve(response);
+};
+
+const deserializeAws_json1_1InferSNOMEDCTCommandError = async (
+ 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.comprehendmedical#InternalServerException":
+ response = {
+ ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidEncodingException":
+ case "com.amazonaws.comprehendmedical#InvalidEncodingException":
+ response = {
+ ...(await deserializeAws_json1_1InvalidEncodingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidRequestException":
+ case "com.amazonaws.comprehendmedical#InvalidRequestException":
+ response = {
+ ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ServiceUnavailableException":
+ case "com.amazonaws.comprehendmedical#ServiceUnavailableException":
+ response = {
+ ...(await deserializeAws_json1_1ServiceUnavailableExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "TextSizeLimitExceededException":
+ case "com.amazonaws.comprehendmedical#TextSizeLimitExceededException":
+ response = {
+ ...(await deserializeAws_json1_1TextSizeLimitExceededExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "TooManyRequestsException":
+ case "com.amazonaws.comprehendmedical#TooManyRequestsException":
+ response = {
+ ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_json1_1ListEntitiesDetectionV2JobsCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -1522,27 +1792,27 @@ const deserializeAws_json1_1ListRxNormInferenceJobsCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
-export const deserializeAws_json1_1StartEntitiesDetectionV2JobCommand = async (
+export const deserializeAws_json1_1ListSNOMEDCTInferenceJobsCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode >= 300) {
- return deserializeAws_json1_1StartEntitiesDetectionV2JobCommandError(output, context);
+ return deserializeAws_json1_1ListSNOMEDCTInferenceJobsCommandError(output, context);
}
const data: any = await parseBody(output.body, context);
let contents: any = {};
- contents = deserializeAws_json1_1StartEntitiesDetectionV2JobResponse(data, context);
- const response: StartEntitiesDetectionV2JobCommandOutput = {
+ contents = deserializeAws_json1_1ListSNOMEDCTInferenceJobsResponse(data, context);
+ const response: ListSNOMEDCTInferenceJobsCommandOutput = {
$metadata: deserializeMetadata(output),
...contents,
};
return Promise.resolve(response);
};
-const deserializeAws_json1_1StartEntitiesDetectionV2JobCommandError = async (
+const deserializeAws_json1_1ListSNOMEDCTInferenceJobsCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseBody(output.body, context),
@@ -1567,18 +1837,18 @@ const deserializeAws_json1_1StartEntitiesDetectionV2JobCommandError = async (
$metadata: deserializeMetadata(output),
};
break;
- case "ResourceNotFoundException":
- case "com.amazonaws.comprehendmedical#ResourceNotFoundException":
+ case "TooManyRequestsException":
+ case "com.amazonaws.comprehendmedical#TooManyRequestsException":
response = {
- ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),
name: errorCode,
$metadata: deserializeMetadata(output),
};
break;
- case "TooManyRequestsException":
- case "com.amazonaws.comprehendmedical#TooManyRequestsException":
+ case "ValidationException":
+ case "com.amazonaws.comprehendmedical#ValidationException":
response = {
- ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),
+ ...(await deserializeAws_json1_1ValidationExceptionResponse(parsedOutput, context)),
name: errorCode,
$metadata: deserializeMetadata(output),
};
@@ -1600,27 +1870,27 @@ const deserializeAws_json1_1StartEntitiesDetectionV2JobCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
-export const deserializeAws_json1_1StartICD10CMInferenceJobCommand = async (
+export const deserializeAws_json1_1StartEntitiesDetectionV2JobCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode >= 300) {
- return deserializeAws_json1_1StartICD10CMInferenceJobCommandError(output, context);
+ return deserializeAws_json1_1StartEntitiesDetectionV2JobCommandError(output, context);
}
const data: any = await parseBody(output.body, context);
let contents: any = {};
- contents = deserializeAws_json1_1StartICD10CMInferenceJobResponse(data, context);
- const response: StartICD10CMInferenceJobCommandOutput = {
+ contents = deserializeAws_json1_1StartEntitiesDetectionV2JobResponse(data, context);
+ const response: StartEntitiesDetectionV2JobCommandOutput = {
$metadata: deserializeMetadata(output),
...contents,
};
return Promise.resolve(response);
};
-const deserializeAws_json1_1StartICD10CMInferenceJobCommandError = async (
+const deserializeAws_json1_1StartEntitiesDetectionV2JobCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseBody(output.body, context),
@@ -1678,27 +1948,27 @@ const deserializeAws_json1_1StartICD10CMInferenceJobCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
-export const deserializeAws_json1_1StartPHIDetectionJobCommand = async (
+export const deserializeAws_json1_1StartICD10CMInferenceJobCommand = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
if (output.statusCode >= 300) {
- return deserializeAws_json1_1StartPHIDetectionJobCommandError(output, context);
+ return deserializeAws_json1_1StartICD10CMInferenceJobCommandError(output, context);
}
const data: any = await parseBody(output.body, context);
let contents: any = {};
- contents = deserializeAws_json1_1StartPHIDetectionJobResponse(data, context);
- const response: StartPHIDetectionJobCommandOutput = {
+ contents = deserializeAws_json1_1StartICD10CMInferenceJobResponse(data, context);
+ const response: StartICD10CMInferenceJobCommandOutput = {
$metadata: deserializeMetadata(output),
...contents,
};
return Promise.resolve(response);
};
-const deserializeAws_json1_1StartPHIDetectionJobCommandError = async (
+const deserializeAws_json1_1StartICD10CMInferenceJobCommandError = async (
output: __HttpResponse,
context: __SerdeContext
-): Promise => {
+): Promise => {
const parsedOutput: any = {
...output,
body: await parseBody(output.body, context),
@@ -1756,7 +2026,85 @@ const deserializeAws_json1_1StartPHIDetectionJobCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
-export const deserializeAws_json1_1StartRxNormInferenceJobCommand = async (
+export const deserializeAws_json1_1StartPHIDetectionJobCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return deserializeAws_json1_1StartPHIDetectionJobCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = deserializeAws_json1_1StartPHIDetectionJobResponse(data, context);
+ const response: StartPHIDetectionJobCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return Promise.resolve(response);
+};
+
+const deserializeAws_json1_1StartPHIDetectionJobCommandError = async (
+ 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.comprehendmedical#InternalServerException":
+ response = {
+ ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidRequestException":
+ case "com.amazonaws.comprehendmedical#InvalidRequestException":
+ response = {
+ ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.comprehendmedical#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "TooManyRequestsException":
+ case "com.amazonaws.comprehendmedical#TooManyRequestsException":
+ response = {
+ ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
+export const deserializeAws_json1_1StartRxNormInferenceJobCommand = async (
output: __HttpResponse,
context: __SerdeContext
): Promise => {
@@ -1834,6 +2182,84 @@ const deserializeAws_json1_1StartRxNormInferenceJobCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_json1_1StartSNOMEDCTInferenceJobCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return deserializeAws_json1_1StartSNOMEDCTInferenceJobCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = deserializeAws_json1_1StartSNOMEDCTInferenceJobResponse(data, context);
+ const response: StartSNOMEDCTInferenceJobCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return Promise.resolve(response);
+};
+
+const deserializeAws_json1_1StartSNOMEDCTInferenceJobCommandError = async (
+ 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.comprehendmedical#InternalServerException":
+ response = {
+ ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidRequestException":
+ case "com.amazonaws.comprehendmedical#InvalidRequestException":
+ response = {
+ ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.comprehendmedical#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "TooManyRequestsException":
+ case "com.amazonaws.comprehendmedical#TooManyRequestsException":
+ response = {
+ ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_json1_1StopEntitiesDetectionV2JobCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -2114,6 +2540,84 @@ const deserializeAws_json1_1StopRxNormInferenceJobCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_json1_1StopSNOMEDCTInferenceJobCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return deserializeAws_json1_1StopSNOMEDCTInferenceJobCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = deserializeAws_json1_1StopSNOMEDCTInferenceJobResponse(data, context);
+ const response: StopSNOMEDCTInferenceJobCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return Promise.resolve(response);
+};
+
+const deserializeAws_json1_1StopSNOMEDCTInferenceJobCommandError = async (
+ 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.comprehendmedical#InternalServerException":
+ response = {
+ ...(await deserializeAws_json1_1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidRequestException":
+ case "com.amazonaws.comprehendmedical#InvalidRequestException":
+ response = {
+ ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.comprehendmedical#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "TooManyRequestsException":
+ case "com.amazonaws.comprehendmedical#TooManyRequestsException":
+ response = {
+ ...(await deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
const deserializeAws_json1_1InternalServerExceptionResponse = async (
parsedOutput: any,
context: __SerdeContext
@@ -2284,6 +2788,15 @@ const serializeAws_json1_1DescribeRxNormInferenceJobRequest = (
};
};
+const serializeAws_json1_1DescribeSNOMEDCTInferenceJobRequest = (
+ input: DescribeSNOMEDCTInferenceJobRequest,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.JobId !== undefined && input.JobId !== null && { JobId: input.JobId }),
+ };
+};
+
const serializeAws_json1_1DetectEntitiesRequest = (input: DetectEntitiesRequest, context: __SerdeContext): any => {
return {
...(input.Text !== undefined && input.Text !== null && { Text: input.Text }),
@@ -2314,6 +2827,12 @@ const serializeAws_json1_1InferRxNormRequest = (input: InferRxNormRequest, conte
};
};
+const serializeAws_json1_1InferSNOMEDCTRequest = (input: InferSNOMEDCTRequest, context: __SerdeContext): any => {
+ return {
+ ...(input.Text !== undefined && input.Text !== null && { Text: input.Text }),
+ };
+};
+
const serializeAws_json1_1InputDataConfig = (input: InputDataConfig, context: __SerdeContext): any => {
return {
...(input.S3Bucket !== undefined && input.S3Bucket !== null && { S3Bucket: input.S3Bucket }),
@@ -2369,6 +2888,18 @@ const serializeAws_json1_1ListRxNormInferenceJobsRequest = (
};
};
+const serializeAws_json1_1ListSNOMEDCTInferenceJobsRequest = (
+ input: ListSNOMEDCTInferenceJobsRequest,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.Filter !== undefined &&
+ input.Filter !== null && { Filter: serializeAws_json1_1ComprehendMedicalAsyncJobFilter(input.Filter, context) }),
+ ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),
+ ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),
+ };
+};
+
const serializeAws_json1_1OutputDataConfig = (input: OutputDataConfig, context: __SerdeContext): any => {
return {
...(input.S3Bucket !== undefined && input.S3Bucket !== null && { S3Bucket: input.S3Bucket }),
@@ -2464,6 +2995,28 @@ const serializeAws_json1_1StartRxNormInferenceJobRequest = (
};
};
+const serializeAws_json1_1StartSNOMEDCTInferenceJobRequest = (
+ input: StartSNOMEDCTInferenceJobRequest,
+ context: __SerdeContext
+): any => {
+ return {
+ ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(),
+ ...(input.DataAccessRoleArn !== undefined &&
+ input.DataAccessRoleArn !== null && { DataAccessRoleArn: input.DataAccessRoleArn }),
+ ...(input.InputDataConfig !== undefined &&
+ input.InputDataConfig !== null && {
+ InputDataConfig: serializeAws_json1_1InputDataConfig(input.InputDataConfig, context),
+ }),
+ ...(input.JobName !== undefined && input.JobName !== null && { JobName: input.JobName }),
+ ...(input.KMSKey !== undefined && input.KMSKey !== null && { KMSKey: input.KMSKey }),
+ ...(input.LanguageCode !== undefined && input.LanguageCode !== null && { LanguageCode: input.LanguageCode }),
+ ...(input.OutputDataConfig !== undefined &&
+ input.OutputDataConfig !== null && {
+ OutputDataConfig: serializeAws_json1_1OutputDataConfig(input.OutputDataConfig, context),
+ }),
+ };
+};
+
const serializeAws_json1_1StopEntitiesDetectionV2JobRequest = (
input: StopEntitiesDetectionV2JobRequest,
context: __SerdeContext
@@ -2500,6 +3053,15 @@ const serializeAws_json1_1StopRxNormInferenceJobRequest = (
};
};
+const serializeAws_json1_1StopSNOMEDCTInferenceJobRequest = (
+ input: StopSNOMEDCTInferenceJobRequest,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.JobId !== undefined && input.JobId !== null && { JobId: input.JobId }),
+ };
+};
+
const deserializeAws_json1_1Attribute = (output: any, context: __SerdeContext): Attribute => {
return {
BeginOffset: __expectInt32(output.BeginOffset),
@@ -2529,6 +3091,12 @@ const deserializeAws_json1_1AttributeList = (output: any, context: __SerdeContex
});
};
+const deserializeAws_json1_1Characters = (output: any, context: __SerdeContext): Characters => {
+ return {
+ OriginalTextCharacters: __expectInt32(output.OriginalTextCharacters),
+ } as any;
+};
+
const deserializeAws_json1_1ComprehendMedicalAsyncJobProperties = (
output: any,
context: __SerdeContext
@@ -2628,6 +3196,18 @@ const deserializeAws_json1_1DescribeRxNormInferenceJobResponse = (
} as any;
};
+const deserializeAws_json1_1DescribeSNOMEDCTInferenceJobResponse = (
+ output: any,
+ context: __SerdeContext
+): DescribeSNOMEDCTInferenceJobResponse => {
+ return {
+ ComprehendMedicalAsyncJobProperties:
+ output.ComprehendMedicalAsyncJobProperties !== undefined && output.ComprehendMedicalAsyncJobProperties !== null
+ ? deserializeAws_json1_1ComprehendMedicalAsyncJobProperties(output.ComprehendMedicalAsyncJobProperties, context)
+ : undefined,
+ } as any;
+};
+
const deserializeAws_json1_1DetectEntitiesResponse = (output: any, context: __SerdeContext): DetectEntitiesResponse => {
return {
Entities:
@@ -2826,6 +3406,25 @@ const deserializeAws_json1_1InferRxNormResponse = (output: any, context: __Serde
} as any;
};
+const deserializeAws_json1_1InferSNOMEDCTResponse = (output: any, context: __SerdeContext): InferSNOMEDCTResponse => {
+ return {
+ Characters:
+ output.Characters !== undefined && output.Characters !== null
+ ? deserializeAws_json1_1Characters(output.Characters, context)
+ : undefined,
+ Entities:
+ output.Entities !== undefined && output.Entities !== null
+ ? deserializeAws_json1_1SNOMEDCTEntityList(output.Entities, context)
+ : undefined,
+ ModelVersion: __expectString(output.ModelVersion),
+ PaginationToken: __expectString(output.PaginationToken),
+ SNOMEDCTDetails:
+ output.SNOMEDCTDetails !== undefined && output.SNOMEDCTDetails !== null
+ ? deserializeAws_json1_1SNOMEDCTDetails(output.SNOMEDCTDetails, context)
+ : undefined,
+ } as any;
+};
+
const deserializeAws_json1_1InputDataConfig = (output: any, context: __SerdeContext): InputDataConfig => {
return {
S3Bucket: __expectString(output.S3Bucket),
@@ -2928,6 +3527,23 @@ const deserializeAws_json1_1ListRxNormInferenceJobsResponse = (
} as any;
};
+const deserializeAws_json1_1ListSNOMEDCTInferenceJobsResponse = (
+ output: any,
+ context: __SerdeContext
+): ListSNOMEDCTInferenceJobsResponse => {
+ return {
+ ComprehendMedicalAsyncJobPropertiesList:
+ output.ComprehendMedicalAsyncJobPropertiesList !== undefined &&
+ output.ComprehendMedicalAsyncJobPropertiesList !== null
+ ? deserializeAws_json1_1ComprehendMedicalAsyncJobPropertiesList(
+ output.ComprehendMedicalAsyncJobPropertiesList,
+ context
+ )
+ : undefined,
+ NextToken: __expectString(output.NextToken),
+ } as any;
+};
+
const deserializeAws_json1_1OutputDataConfig = (output: any, context: __SerdeContext): OutputDataConfig => {
return {
S3Bucket: __expectString(output.S3Bucket),
@@ -3052,6 +3668,119 @@ const deserializeAws_json1_1ServiceUnavailableException = (
} as any;
};
+const deserializeAws_json1_1SNOMEDCTAttribute = (output: any, context: __SerdeContext): SNOMEDCTAttribute => {
+ return {
+ BeginOffset: __expectInt32(output.BeginOffset),
+ Category: __expectString(output.Category),
+ EndOffset: __expectInt32(output.EndOffset),
+ Id: __expectInt32(output.Id),
+ RelationshipScore: __limitedParseFloat32(output.RelationshipScore),
+ RelationshipType: __expectString(output.RelationshipType),
+ SNOMEDCTConcepts:
+ output.SNOMEDCTConcepts !== undefined && output.SNOMEDCTConcepts !== null
+ ? deserializeAws_json1_1SNOMEDCTConceptList(output.SNOMEDCTConcepts, context)
+ : undefined,
+ Score: __limitedParseFloat32(output.Score),
+ Text: __expectString(output.Text),
+ Traits:
+ output.Traits !== undefined && output.Traits !== null
+ ? deserializeAws_json1_1SNOMEDCTTraitList(output.Traits, context)
+ : undefined,
+ Type: __expectString(output.Type),
+ } as any;
+};
+
+const deserializeAws_json1_1SNOMEDCTAttributeList = (output: any, context: __SerdeContext): SNOMEDCTAttribute[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_json1_1SNOMEDCTAttribute(entry, context);
+ });
+};
+
+const deserializeAws_json1_1SNOMEDCTConcept = (output: any, context: __SerdeContext): SNOMEDCTConcept => {
+ return {
+ Code: __expectString(output.Code),
+ Description: __expectString(output.Description),
+ Score: __limitedParseFloat32(output.Score),
+ } as any;
+};
+
+const deserializeAws_json1_1SNOMEDCTConceptList = (output: any, context: __SerdeContext): SNOMEDCTConcept[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_json1_1SNOMEDCTConcept(entry, context);
+ });
+};
+
+const deserializeAws_json1_1SNOMEDCTDetails = (output: any, context: __SerdeContext): SNOMEDCTDetails => {
+ return {
+ Edition: __expectString(output.Edition),
+ Language: __expectString(output.Language),
+ VersionDate: __expectString(output.VersionDate),
+ } as any;
+};
+
+const deserializeAws_json1_1SNOMEDCTEntity = (output: any, context: __SerdeContext): SNOMEDCTEntity => {
+ return {
+ Attributes:
+ output.Attributes !== undefined && output.Attributes !== null
+ ? deserializeAws_json1_1SNOMEDCTAttributeList(output.Attributes, context)
+ : undefined,
+ BeginOffset: __expectInt32(output.BeginOffset),
+ Category: __expectString(output.Category),
+ EndOffset: __expectInt32(output.EndOffset),
+ Id: __expectInt32(output.Id),
+ SNOMEDCTConcepts:
+ output.SNOMEDCTConcepts !== undefined && output.SNOMEDCTConcepts !== null
+ ? deserializeAws_json1_1SNOMEDCTConceptList(output.SNOMEDCTConcepts, context)
+ : undefined,
+ Score: __limitedParseFloat32(output.Score),
+ Text: __expectString(output.Text),
+ Traits:
+ output.Traits !== undefined && output.Traits !== null
+ ? deserializeAws_json1_1SNOMEDCTTraitList(output.Traits, context)
+ : undefined,
+ Type: __expectString(output.Type),
+ } as any;
+};
+
+const deserializeAws_json1_1SNOMEDCTEntityList = (output: any, context: __SerdeContext): SNOMEDCTEntity[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_json1_1SNOMEDCTEntity(entry, context);
+ });
+};
+
+const deserializeAws_json1_1SNOMEDCTTrait = (output: any, context: __SerdeContext): SNOMEDCTTrait => {
+ return {
+ Name: __expectString(output.Name),
+ Score: __limitedParseFloat32(output.Score),
+ } as any;
+};
+
+const deserializeAws_json1_1SNOMEDCTTraitList = (output: any, context: __SerdeContext): SNOMEDCTTrait[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_json1_1SNOMEDCTTrait(entry, context);
+ });
+};
+
const deserializeAws_json1_1StartEntitiesDetectionV2JobResponse = (
output: any,
context: __SerdeContext
@@ -3088,6 +3817,15 @@ const deserializeAws_json1_1StartRxNormInferenceJobResponse = (
} as any;
};
+const deserializeAws_json1_1StartSNOMEDCTInferenceJobResponse = (
+ output: any,
+ context: __SerdeContext
+): StartSNOMEDCTInferenceJobResponse => {
+ return {
+ JobId: __expectString(output.JobId),
+ } as any;
+};
+
const deserializeAws_json1_1StopEntitiesDetectionV2JobResponse = (
output: any,
context: __SerdeContext
@@ -3124,6 +3862,15 @@ const deserializeAws_json1_1StopRxNormInferenceJobResponse = (
} as any;
};
+const deserializeAws_json1_1StopSNOMEDCTInferenceJobResponse = (
+ output: any,
+ context: __SerdeContext
+): StopSNOMEDCTInferenceJobResponse => {
+ return {
+ JobId: __expectString(output.JobId),
+ } as any;
+};
+
const deserializeAws_json1_1TextSizeLimitExceededException = (
output: any,
context: __SerdeContext
diff --git a/clients/client-compute-optimizer/src/endpoints.ts b/clients/client-compute-optimizer/src/endpoints.ts
index f7b0f2eed78c..76f45600d757 100644
--- a/clients/client-compute-optimizer/src/endpoints.ts
+++ b/clients/client-compute-optimizer/src/endpoints.ts
@@ -177,6 +177,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-config-service/src/endpoints.ts b/clients/client-config-service/src/endpoints.ts
index fc94f3a09acc..a2f3de9633ef 100644
--- a/clients/client-config-service/src/endpoints.ts
+++ b/clients/client-config-service/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-connect-contact-lens/src/endpoints.ts b/clients/client-connect-contact-lens/src/endpoints.ts
index 77b59788b8c7..55e3cbdb7f12 100644
--- a/clients/client-connect-contact-lens/src/endpoints.ts
+++ b/clients/client-connect-contact-lens/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-connect/src/endpoints.ts b/clients/client-connect/src/endpoints.ts
index 45b700b808b9..ace45f3a62eb 100644
--- a/clients/client-connect/src/endpoints.ts
+++ b/clients/client-connect/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-connectparticipant/src/endpoints.ts b/clients/client-connectparticipant/src/endpoints.ts
index 66994c7e368a..0f11b6db314d 100644
--- a/clients/client-connectparticipant/src/endpoints.ts
+++ b/clients/client-connectparticipant/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cost-and-usage-report-service/src/endpoints.ts b/clients/client-cost-and-usage-report-service/src/endpoints.ts
index 0fe8c22df63a..af0502d971ae 100644
--- a/clients/client-cost-and-usage-report-service/src/endpoints.ts
+++ b/clients/client-cost-and-usage-report-service/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-cost-explorer/src/endpoints.ts b/clients/client-cost-explorer/src/endpoints.ts
index 56fc57d3354c..8709f88f5660 100644
--- a/clients/client-cost-explorer/src/endpoints.ts
+++ b/clients/client-cost-explorer/src/endpoints.ts
@@ -33,6 +33,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"aws-global",
"ca-central-1",
"eu-central-1",
diff --git a/clients/client-customer-profiles/src/CustomerProfiles.ts b/clients/client-customer-profiles/src/CustomerProfiles.ts
index 79df3b816ad7..c56d1b9fce5d 100644
--- a/clients/client-customer-profiles/src/CustomerProfiles.ts
+++ b/clients/client-customer-profiles/src/CustomerProfiles.ts
@@ -602,8 +602,7 @@ export class CustomerProfiles extends CustomerProfilesClient {
}
/**
- * This API is in preview release for Amazon Connect and subject to change.
- * Before calling this API, use CreateDomain or
+ *
Before calling this API, use CreateDomain or
* UpdateDomain to
* enable identity resolution: set Matching
to true.
* GetMatches returns potentially matching profiles, based on the results of the latest run
@@ -997,8 +996,7 @@ export class CustomerProfiles extends CustomerProfilesClient {
}
/**
- *
This API is in preview release for Amazon Connect and subject to change.
- * Runs an AWS Lambda job that does the following:
+ * Runs an AWS Lambda job that does the following:
*
* -
*
All the profileKeys in the ProfileToBeMerged
will be moved to the
diff --git a/clients/client-customer-profiles/src/commands/GetMatchesCommand.ts b/clients/client-customer-profiles/src/commands/GetMatchesCommand.ts
index e20c6b3ce5a3..f3722b932cc5 100644
--- a/clients/client-customer-profiles/src/commands/GetMatchesCommand.ts
+++ b/clients/client-customer-profiles/src/commands/GetMatchesCommand.ts
@@ -22,8 +22,7 @@ export interface GetMatchesCommandInput extends GetMatchesRequest {}
export interface GetMatchesCommandOutput extends GetMatchesResponse, __MetadataBearer {}
/**
- *
This API is in preview release for Amazon Connect and subject to change.
- * Before calling this API, use CreateDomain or
+ *
Before calling this API, use CreateDomain or
* UpdateDomain to
* enable identity resolution: set Matching
to true.
* GetMatches returns potentially matching profiles, based on the results of the latest run
diff --git a/clients/client-customer-profiles/src/commands/MergeProfilesCommand.ts b/clients/client-customer-profiles/src/commands/MergeProfilesCommand.ts
index 06b363a1d3db..fa2426631409 100644
--- a/clients/client-customer-profiles/src/commands/MergeProfilesCommand.ts
+++ b/clients/client-customer-profiles/src/commands/MergeProfilesCommand.ts
@@ -22,8 +22,7 @@ export interface MergeProfilesCommandInput extends MergeProfilesRequest {}
export interface MergeProfilesCommandOutput extends MergeProfilesResponse, __MetadataBearer {}
/**
- *
This API is in preview release for Amazon Connect and subject to change.
- * Runs an AWS Lambda job that does the following:
+ * Runs an AWS Lambda job that does the following:
*
* -
*
All the profileKeys in the ProfileToBeMerged
will be moved to the
diff --git a/clients/client-customer-profiles/src/endpoints.ts b/clients/client-customer-profiles/src/endpoints.ts
index 976063f6d185..824fbac76209 100644
--- a/clients/client-customer-profiles/src/endpoints.ts
+++ b/clients/client-customer-profiles/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-customer-profiles/src/models/models_0.ts b/clients/client-customer-profiles/src/models/models_0.ts
index a0a6be1e96b6..2c32260ae3b7 100644
--- a/clients/client-customer-profiles/src/models/models_0.ts
+++ b/clients/client-customer-profiles/src/models/models_0.ts
@@ -477,8 +477,7 @@ export namespace S3ExportingConfig {
*
* You need to give Customer Profiles service principal write permission to your S3 bucket.
* Otherwise, you'll get an exception in the API response. For an example policy, see
- * Amazon Connect Customer Profiles cross-service confused deputy prevention.
- *
+ * Amazon Connect Customer Profiles cross-service confused deputy prevention.
*
*/
export interface ExportingConfig {
@@ -1516,7 +1515,7 @@ export interface GetIntegrationResponse {
/**
* The name of the profile object type.
*/
- ObjectTypeName: string | undefined;
+ ObjectTypeName?: string;
/**
* The timestamp of when the domain was created.
@@ -1532,6 +1531,13 @@ export interface GetIntegrationResponse {
* The tags used to organize, track, or control access for this resource.
*/
Tags?: { [key: string]: string };
+
+ /**
+ * A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName
(template) used to ingest the event.
+ * It supports the following event types: SegmentIdentify
, ShopifyCreateCustomers
, ShopifyUpdateCustomers
, ShopifyCreateDraftOrders
,
+ * ShopifyUpdateDraftOrders
, ShopifyCreateOrders
, and ShopifyUpdatedOrders
.
+ */
+ ObjectTypeNames?: { [key: string]: string };
}
export namespace GetIntegrationResponse {
@@ -1696,6 +1702,7 @@ export enum StandardIdentifier {
CASE = "CASE",
LOOKUP_ONLY = "LOOKUP_ONLY",
NEW_ONLY = "NEW_ONLY",
+ ORDER = "ORDER",
PROFILE = "PROFILE",
SECONDARY = "SECONDARY",
UNIQUE = "UNIQUE",
@@ -1708,8 +1715,8 @@ export enum StandardIdentifier {
export interface ObjectTypeKey {
/**
* The types of keys that a ProfileObject can have. Each ProfileObject can have only 1
- * UNIQUE key but multiple PROFILE keys. PROFILE, ASSET or CASE means that this key can be
- * used to tie an object to a PROFILE, ASSET or CASE respectively. UNIQUE means that it can be
+ * UNIQUE key but multiple PROFILE keys. PROFILE, ASSET, CASE, or ORDER means that this key can be
+ * used to tie an object to a PROFILE, ASSET, CASE, or ORDER respectively. UNIQUE means that it can be
* used to uniquely identify an object. If a key a is marked as SECONDARY, it will be used to
* search for profiles after all other PROFILE keys have been searched. A LOOKUP_ONLY key is
* only used to match a profile but is not persisted to be used for searching of the profile.
@@ -1920,7 +1927,7 @@ export interface ListIntegrationItem {
/**
*
The name of the profile object type.
*/
- ObjectTypeName: string | undefined;
+ ObjectTypeName?: string;
/**
* The timestamp of when the domain was created.
@@ -1936,6 +1943,13 @@ export interface ListIntegrationItem {
* The tags used to organize, track, or control access for this resource.
*/
Tags?: { [key: string]: string };
+
+ /**
+ * A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName
(template) used to ingest the event.
+ * It supports the following event types: SegmentIdentify
, ShopifyCreateCustomers
, ShopifyUpdateCustomers
, ShopifyCreateDraftOrders
,
+ * ShopifyUpdateDraftOrders
, ShopifyCreateOrders
, and ShopifyUpdatedOrders
.
+ */
+ ObjectTypeNames?: { [key: string]: string };
}
export namespace ListIntegrationItem {
@@ -2230,14 +2244,15 @@ export namespace ListIntegrationsResponse {
/**
* The filter applied to ListProfileObjects response to include profile objects with the
- * specified index values. This filter is only supported for ObjectTypeName _asset and
- * _case.
+ * specified index values. This filter is only supported for ObjectTypeName _asset, _case and
+ * _order.
*/
export interface ObjectFilter {
/**
* A searchable identifier of a standard profile object. The predefined keys you can use to
* search for _asset include: _assetId, _assetName, _serialNumber. The predefined keys you can
- * use to search for _case include: _caseId.
+ * use to search for _case include: _caseId. The predefined keys you can use to search for
+ * _order include: _orderId.
*/
KeyName: string | undefined;
@@ -2284,7 +2299,7 @@ export interface ListProfileObjectsRequest {
/**
* Applies a filter to the response to include profile objects with the specified index
- * values. This filter is only supported for ObjectTypeName _asset and _case.
+ * values. This filter is only supported for ObjectTypeName _asset, _case and _order.
*/
ObjectFilter?: ObjectFilter;
}
@@ -3169,7 +3184,7 @@ export interface PutIntegrationRequest {
/**
* The name of the profile object type.
*/
- ObjectTypeName: string | undefined;
+ ObjectTypeName?: string;
/**
* The tags used to organize, track, or control access for this resource.
@@ -3181,6 +3196,13 @@ export interface PutIntegrationRequest {
* source.
*/
FlowDefinition?: FlowDefinition;
+
+ /**
+ * A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName
(template) used to ingest the event.
+ * It supports the following event types: SegmentIdentify
, ShopifyCreateCustomers
, ShopifyUpdateCustomers
, ShopifyCreateDraftOrders
,
+ * ShopifyUpdateDraftOrders
, ShopifyCreateOrders
, and ShopifyUpdatedOrders
.
+ */
+ ObjectTypeNames?: { [key: string]: string };
}
export namespace PutIntegrationRequest {
@@ -3206,7 +3228,7 @@ export interface PutIntegrationResponse {
/**
* The name of the profile object type.
*/
- ObjectTypeName: string | undefined;
+ ObjectTypeName?: string;
/**
* The timestamp of when the domain was created.
@@ -3222,6 +3244,13 @@ export interface PutIntegrationResponse {
* The tags used to organize, track, or control access for this resource.
*/
Tags?: { [key: string]: string };
+
+ /**
+ * A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName
(template) used to ingest the event.
+ * It supports the following event types: SegmentIdentify
, ShopifyCreateCustomers
, ShopifyUpdateCustomers
, ShopifyCreateDraftOrders
,
+ * ShopifyUpdateDraftOrders
, ShopifyCreateOrders
, and ShopifyUpdatedOrders
.
+ */
+ ObjectTypeNames?: { [key: string]: string };
}
export namespace PutIntegrationResponse {
@@ -3318,7 +3347,7 @@ export interface PutProfileObjectTypeRequest {
/**
* The format of your sourceLastUpdatedTimestamp
that was previously set up.
- *
+ *
*/
SourceLastUpdatedTimestampFormat?: string;
@@ -3442,9 +3471,12 @@ export interface SearchProfilesRequest {
DomainName: string | undefined;
/**
- * A searchable identifier of a customer profile. The predefined keys you can use to search include: _account, _profileId,
- * _fullName, _phone, _email, _ctrContactId, _marketoLeadId, _salesforceAccountId,
- * _salesforceContactId, _zendeskUserId, _zendeskExternalId, _serviceNowSystemId.
+ * A searchable identifier of a customer profile. The predefined keys you can use
+ * to search include: _account, _profileId, _assetId, _caseId, _orderId, _fullName, _phone,
+ * _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId,
+ * _salesforceAssetId, _zendeskUserId, _zendeskExternalId, _zendeskTicketId,
+ * _serviceNowSystemId, _serviceNowIncidentId, _segmentUserId, _shopifyCustomerId,
+ * _shopifyOrderId.
*/
KeyName: string | undefined;
diff --git a/clients/client-customer-profiles/src/protocols/Aws_restJson1.ts b/clients/client-customer-profiles/src/protocols/Aws_restJson1.ts
index bc4a8d357f1a..92bc840dcb2d 100644
--- a/clients/client-customer-profiles/src/protocols/Aws_restJson1.ts
+++ b/clients/client-customer-profiles/src/protocols/Aws_restJson1.ts
@@ -1064,6 +1064,10 @@ export const serializeAws_restJson1PutIntegrationCommand = async (
}),
...(input.ObjectTypeName !== undefined &&
input.ObjectTypeName !== null && { ObjectTypeName: input.ObjectTypeName }),
+ ...(input.ObjectTypeNames !== undefined &&
+ input.ObjectTypeNames !== null && {
+ ObjectTypeNames: serializeAws_restJson1ObjectTypeNames(input.ObjectTypeNames, context),
+ }),
...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_restJson1TagMap(input.Tags, context) }),
...(input.Uri !== undefined && input.Uri !== null && { Uri: input.Uri }),
});
@@ -2564,6 +2568,7 @@ export const deserializeAws_restJson1GetIntegrationCommand = async (
DomainName: undefined,
LastUpdatedAt: undefined,
ObjectTypeName: undefined,
+ ObjectTypeNames: undefined,
Tags: undefined,
Uri: undefined,
};
@@ -2580,6 +2585,9 @@ export const deserializeAws_restJson1GetIntegrationCommand = async (
if (data.ObjectTypeName !== undefined && data.ObjectTypeName !== null) {
contents.ObjectTypeName = __expectString(data.ObjectTypeName);
}
+ if (data.ObjectTypeNames !== undefined && data.ObjectTypeNames !== null) {
+ contents.ObjectTypeNames = deserializeAws_restJson1ObjectTypeNames(data.ObjectTypeNames, context);
+ }
if (data.Tags !== undefined && data.Tags !== null) {
contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context);
}
@@ -3802,6 +3810,7 @@ export const deserializeAws_restJson1PutIntegrationCommand = async (
DomainName: undefined,
LastUpdatedAt: undefined,
ObjectTypeName: undefined,
+ ObjectTypeNames: undefined,
Tags: undefined,
Uri: undefined,
};
@@ -3818,6 +3827,9 @@ export const deserializeAws_restJson1PutIntegrationCommand = async (
if (data.ObjectTypeName !== undefined && data.ObjectTypeName !== null) {
contents.ObjectTypeName = __expectString(data.ObjectTypeName);
}
+ if (data.ObjectTypeNames !== undefined && data.ObjectTypeNames !== null) {
+ contents.ObjectTypeNames = deserializeAws_restJson1ObjectTypeNames(data.ObjectTypeNames, context);
+ }
if (data.Tags !== undefined && data.Tags !== null) {
contents.Tags = deserializeAws_restJson1TagMap(data.Tags, context);
}
@@ -4903,6 +4915,18 @@ const serializeAws_restJson1ObjectTypeKeyList = (input: ObjectTypeKey[], context
});
};
+const serializeAws_restJson1ObjectTypeNames = (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_restJson1ProfileIdToBeMergedList = (input: string[], context: __SerdeContext): any => {
return input
.filter((e: any) => e != null)
@@ -5385,6 +5409,10 @@ const deserializeAws_restJson1ListIntegrationItem = (output: any, context: __Ser
? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedAt)))
: undefined,
ObjectTypeName: __expectString(output.ObjectTypeName),
+ ObjectTypeNames:
+ output.ObjectTypeNames !== undefined && output.ObjectTypeNames !== null
+ ? deserializeAws_restJson1ObjectTypeNames(output.ObjectTypeNames, context)
+ : undefined,
Tags:
output.Tags !== undefined && output.Tags !== null
? deserializeAws_restJson1TagMap(output.Tags, context)
@@ -5531,6 +5559,18 @@ const deserializeAws_restJson1ObjectTypeKeyList = (output: any, context: __Serde
});
};
+const deserializeAws_restJson1ObjectTypeNames = (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_restJson1Profile = (output: any, context: __SerdeContext): Profile => {
return {
AccountNumber: __expectString(output.AccountNumber),
diff --git a/clients/client-data-pipeline/src/endpoints.ts b/clients/client-data-pipeline/src/endpoints.ts
index 803dc2da143d..32e655126730 100644
--- a/clients/client-data-pipeline/src/endpoints.ts
+++ b/clients/client-data-pipeline/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-database-migration-service/src/endpoints.ts b/clients/client-database-migration-service/src/endpoints.ts
index dc31a841709e..faeaa0322bbf 100644
--- a/clients/client-database-migration-service/src/endpoints.ts
+++ b/clients/client-database-migration-service/src/endpoints.ts
@@ -111,6 +111,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"dms",
"dms-fips",
diff --git a/clients/client-databrew/src/endpoints.ts b/clients/client-databrew/src/endpoints.ts
index e9c6e8d638aa..b9347107c280 100644
--- a/clients/client-databrew/src/endpoints.ts
+++ b/clients/client-databrew/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-dataexchange/src/endpoints.ts b/clients/client-dataexchange/src/endpoints.ts
index 22312b0d9910..5dc0ba4759e0 100644
--- a/clients/client-dataexchange/src/endpoints.ts
+++ b/clients/client-dataexchange/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-datasync/src/DataSync.ts b/clients/client-datasync/src/DataSync.ts
index cec93a5266a0..3f9a571f81cf 100644
--- a/clients/client-datasync/src/DataSync.ts
+++ b/clients/client-datasync/src/DataSync.ts
@@ -11,6 +11,11 @@ import {
CreateLocationEfsCommandInput,
CreateLocationEfsCommandOutput,
} from "./commands/CreateLocationEfsCommand";
+import {
+ CreateLocationFsxLustreCommand,
+ CreateLocationFsxLustreCommandInput,
+ CreateLocationFsxLustreCommandOutput,
+} from "./commands/CreateLocationFsxLustreCommand";
import {
CreateLocationFsxWindowsCommand,
CreateLocationFsxWindowsCommandInput,
@@ -59,6 +64,11 @@ import {
DescribeLocationEfsCommandInput,
DescribeLocationEfsCommandOutput,
} from "./commands/DescribeLocationEfsCommand";
+import {
+ DescribeLocationFsxLustreCommand,
+ DescribeLocationFsxLustreCommandInput,
+ DescribeLocationFsxLustreCommandOutput,
+} from "./commands/DescribeLocationFsxLustreCommand";
import {
DescribeLocationFsxWindowsCommand,
DescribeLocationFsxWindowsCommandInput,
@@ -277,6 +287,38 @@ export class DataSync extends DataSyncClient {
}
}
+ /**
+ * Creates an endpoint for an Amazon FSx for Lustre file system.
+ */
+ public createLocationFsxLustre(
+ args: CreateLocationFsxLustreCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createLocationFsxLustre(
+ args: CreateLocationFsxLustreCommandInput,
+ cb: (err: any, data?: CreateLocationFsxLustreCommandOutput) => void
+ ): void;
+ public createLocationFsxLustre(
+ args: CreateLocationFsxLustreCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateLocationFsxLustreCommandOutput) => void
+ ): void;
+ public createLocationFsxLustre(
+ args: CreateLocationFsxLustreCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateLocationFsxLustreCommandOutput) => void),
+ cb?: (err: any, data?: CreateLocationFsxLustreCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateLocationFsxLustreCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 endpoint for an Amazon FSx for Windows File Server file system.
*/
@@ -675,6 +717,39 @@ export class DataSync extends DataSyncClient {
}
}
+ /**
+ * Returns metadata, such as the path information about an Amazon FSx for Lustre
+ * location.
+ */
+ public describeLocationFsxLustre(
+ args: DescribeLocationFsxLustreCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public describeLocationFsxLustre(
+ args: DescribeLocationFsxLustreCommandInput,
+ cb: (err: any, data?: DescribeLocationFsxLustreCommandOutput) => void
+ ): void;
+ public describeLocationFsxLustre(
+ args: DescribeLocationFsxLustreCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DescribeLocationFsxLustreCommandOutput) => void
+ ): void;
+ public describeLocationFsxLustre(
+ args: DescribeLocationFsxLustreCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeLocationFsxLustreCommandOutput) => void),
+ cb?: (err: any, data?: DescribeLocationFsxLustreCommandOutput) => void
+ ): Promise | void {
+ const command = new DescribeLocationFsxLustreCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Returns metadata, such as the path information about an Amazon FSx for Windows File Server
* location.
diff --git a/clients/client-datasync/src/DataSyncClient.ts b/clients/client-datasync/src/DataSyncClient.ts
index 4d2f79efe89e..fb6af7f03ef3 100644
--- a/clients/client-datasync/src/DataSyncClient.ts
+++ b/clients/client-datasync/src/DataSyncClient.ts
@@ -55,6 +55,10 @@ import {
} from "./commands/CancelTaskExecutionCommand";
import { CreateAgentCommandInput, CreateAgentCommandOutput } from "./commands/CreateAgentCommand";
import { CreateLocationEfsCommandInput, CreateLocationEfsCommandOutput } from "./commands/CreateLocationEfsCommand";
+import {
+ CreateLocationFsxLustreCommandInput,
+ CreateLocationFsxLustreCommandOutput,
+} from "./commands/CreateLocationFsxLustreCommand";
import {
CreateLocationFsxWindowsCommandInput,
CreateLocationFsxWindowsCommandOutput,
@@ -76,6 +80,10 @@ import {
DescribeLocationEfsCommandInput,
DescribeLocationEfsCommandOutput,
} from "./commands/DescribeLocationEfsCommand";
+import {
+ DescribeLocationFsxLustreCommandInput,
+ DescribeLocationFsxLustreCommandOutput,
+} from "./commands/DescribeLocationFsxLustreCommand";
import {
DescribeLocationFsxWindowsCommandInput,
DescribeLocationFsxWindowsCommandOutput,
@@ -132,6 +140,7 @@ export type ServiceInputTypes =
| CancelTaskExecutionCommandInput
| CreateAgentCommandInput
| CreateLocationEfsCommandInput
+ | CreateLocationFsxLustreCommandInput
| CreateLocationFsxWindowsCommandInput
| CreateLocationHdfsCommandInput
| CreateLocationNfsCommandInput
@@ -144,6 +153,7 @@ export type ServiceInputTypes =
| DeleteTaskCommandInput
| DescribeAgentCommandInput
| DescribeLocationEfsCommandInput
+ | DescribeLocationFsxLustreCommandInput
| DescribeLocationFsxWindowsCommandInput
| DescribeLocationHdfsCommandInput
| DescribeLocationNfsCommandInput
@@ -172,6 +182,7 @@ export type ServiceOutputTypes =
| CancelTaskExecutionCommandOutput
| CreateAgentCommandOutput
| CreateLocationEfsCommandOutput
+ | CreateLocationFsxLustreCommandOutput
| CreateLocationFsxWindowsCommandOutput
| CreateLocationHdfsCommandOutput
| CreateLocationNfsCommandOutput
@@ -184,6 +195,7 @@ export type ServiceOutputTypes =
| DeleteTaskCommandOutput
| DescribeAgentCommandOutput
| DescribeLocationEfsCommandOutput
+ | DescribeLocationFsxLustreCommandOutput
| DescribeLocationFsxWindowsCommandOutput
| DescribeLocationHdfsCommandOutput
| DescribeLocationNfsCommandOutput
diff --git a/clients/client-datasync/src/commands/CreateLocationFsxLustreCommand.ts b/clients/client-datasync/src/commands/CreateLocationFsxLustreCommand.ts
new file mode 100644
index 000000000000..d1702a07daec
--- /dev/null
+++ b/clients/client-datasync/src/commands/CreateLocationFsxLustreCommand.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 { DataSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataSyncClient";
+import { CreateLocationFsxLustreRequest, CreateLocationFsxLustreResponse } from "../models/models_0";
+import {
+ deserializeAws_json1_1CreateLocationFsxLustreCommand,
+ serializeAws_json1_1CreateLocationFsxLustreCommand,
+} from "../protocols/Aws_json1_1";
+
+export interface CreateLocationFsxLustreCommandInput extends CreateLocationFsxLustreRequest {}
+export interface CreateLocationFsxLustreCommandOutput extends CreateLocationFsxLustreResponse, __MetadataBearer {}
+
+/**
+ * Creates an endpoint for an Amazon FSx for Lustre file system.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { DataSyncClient, CreateLocationFsxLustreCommand } from "@aws-sdk/client-datasync"; // ES Modules import
+ * // const { DataSyncClient, CreateLocationFsxLustreCommand } = require("@aws-sdk/client-datasync"); // CommonJS import
+ * const client = new DataSyncClient(config);
+ * const command = new CreateLocationFsxLustreCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link CreateLocationFsxLustreCommandInput} for command's `input` shape.
+ * @see {@link CreateLocationFsxLustreCommandOutput} for command's `response` shape.
+ * @see {@link DataSyncClientResolvedConfig | config} for DataSyncClient's `config` shape.
+ *
+ */
+export class CreateLocationFsxLustreCommand extends $Command<
+ CreateLocationFsxLustreCommandInput,
+ CreateLocationFsxLustreCommandOutput,
+ DataSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateLocationFsxLustreCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: DataSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "DataSyncClient";
+ const commandName = "CreateLocationFsxLustreCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: CreateLocationFsxLustreRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: CreateLocationFsxLustreResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: CreateLocationFsxLustreCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateLocationFsxLustreCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_json1_1CreateLocationFsxLustreCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-datasync/src/commands/DescribeLocationFsxLustreCommand.ts b/clients/client-datasync/src/commands/DescribeLocationFsxLustreCommand.ts
new file mode 100644
index 000000000000..f3e202f739a2
--- /dev/null
+++ b/clients/client-datasync/src/commands/DescribeLocationFsxLustreCommand.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 { DataSyncClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DataSyncClient";
+import { DescribeLocationFsxLustreRequest, DescribeLocationFsxLustreResponse } from "../models/models_0";
+import {
+ deserializeAws_json1_1DescribeLocationFsxLustreCommand,
+ serializeAws_json1_1DescribeLocationFsxLustreCommand,
+} from "../protocols/Aws_json1_1";
+
+export interface DescribeLocationFsxLustreCommandInput extends DescribeLocationFsxLustreRequest {}
+export interface DescribeLocationFsxLustreCommandOutput extends DescribeLocationFsxLustreResponse, __MetadataBearer {}
+
+/**
+ * Returns metadata, such as the path information about an Amazon FSx for Lustre
+ * location.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { DataSyncClient, DescribeLocationFsxLustreCommand } from "@aws-sdk/client-datasync"; // ES Modules import
+ * // const { DataSyncClient, DescribeLocationFsxLustreCommand } = require("@aws-sdk/client-datasync"); // CommonJS import
+ * const client = new DataSyncClient(config);
+ * const command = new DescribeLocationFsxLustreCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link DescribeLocationFsxLustreCommandInput} for command's `input` shape.
+ * @see {@link DescribeLocationFsxLustreCommandOutput} for command's `response` shape.
+ * @see {@link DataSyncClientResolvedConfig | config} for DataSyncClient's `config` shape.
+ *
+ */
+export class DescribeLocationFsxLustreCommand extends $Command<
+ DescribeLocationFsxLustreCommandInput,
+ DescribeLocationFsxLustreCommandOutput,
+ DataSyncClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DescribeLocationFsxLustreCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: DataSyncClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "DataSyncClient";
+ const commandName = "DescribeLocationFsxLustreCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: DescribeLocationFsxLustreRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: DescribeLocationFsxLustreResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: DescribeLocationFsxLustreCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_json1_1DescribeLocationFsxLustreCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DescribeLocationFsxLustreCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-datasync/src/commands/index.ts b/clients/client-datasync/src/commands/index.ts
index 175c53b1bfb1..b52ed412cb9b 100644
--- a/clients/client-datasync/src/commands/index.ts
+++ b/clients/client-datasync/src/commands/index.ts
@@ -1,6 +1,7 @@
export * from "./CancelTaskExecutionCommand";
export * from "./CreateAgentCommand";
export * from "./CreateLocationEfsCommand";
+export * from "./CreateLocationFsxLustreCommand";
export * from "./CreateLocationFsxWindowsCommand";
export * from "./CreateLocationHdfsCommand";
export * from "./CreateLocationNfsCommand";
@@ -13,6 +14,7 @@ export * from "./DeleteLocationCommand";
export * from "./DeleteTaskCommand";
export * from "./DescribeAgentCommand";
export * from "./DescribeLocationEfsCommand";
+export * from "./DescribeLocationFsxLustreCommand";
export * from "./DescribeLocationFsxWindowsCommand";
export * from "./DescribeLocationHdfsCommand";
export * from "./DescribeLocationNfsCommand";
diff --git a/clients/client-datasync/src/endpoints.ts b/clients/client-datasync/src/endpoints.ts
index 67ab7b51181b..549393830823 100644
--- a/clients/client-datasync/src/endpoints.ts
+++ b/clients/client-datasync/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-datasync/src/models/models_0.ts b/clients/client-datasync/src/models/models_0.ts
index adb41f32bb12..32dade096441 100644
--- a/clients/client-datasync/src/models/models_0.ts
+++ b/clients/client-datasync/src/models/models_0.ts
@@ -343,9 +343,57 @@ export namespace CreateLocationEfsResponse {
});
}
+export interface CreateLocationFsxLustreRequest {
+ /**
+ * The Amazon Resource Name (ARN) for the FSx for Lustre file system.
+ */
+ FsxFilesystemArn: string | undefined;
+
+ /**
+ * The Amazon Resource Names (ARNs) of the security groups that are used to configure the FSx for Lustre file system.
+ */
+ SecurityGroupArns: string[] | undefined;
+
+ /**
+ * A subdirectory in the location's path. This subdirectory in the FSx for Lustre file system is used to read data from the FSx for Lustre source location or write data to the FSx for Lustre destination.
+ */
+ Subdirectory?: string;
+
+ /**
+ * The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.
+ */
+ Tags?: TagListEntry[];
+}
+
+export namespace CreateLocationFsxLustreRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateLocationFsxLustreRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface CreateLocationFsxLustreResponse {
+ /**
+ * The Amazon Resource Name (ARN) of the FSx for Lustre file system location that's
+ * created.
+ */
+ LocationArn?: string;
+}
+
+export namespace CreateLocationFsxLustreResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: CreateLocationFsxLustreResponse): any => ({
+ ...obj,
+ });
+}
+
export interface CreateLocationFsxWindowsRequest {
/**
- * A subdirectory in the location’s path. This subdirectory in the Amazon FSx for Windows
+ *
A subdirectory in the location's path. This subdirectory in the Amazon FSx for Windows
* File Server file system is used to read data from the Amazon FSx for Windows File Server
* source location or write data to the FSx for Windows File Server destination.
*/
@@ -357,7 +405,7 @@ export interface CreateLocationFsxWindowsRequest {
FsxFilesystemArn: string | undefined;
/**
- * The Amazon Resource Names (ARNs) of the security groups that are to use to configure the
+ *
The Amazon Resource Names (ARNs) of the security groups that are used to configure the
* FSx for Windows File Server file system.
*/
SecurityGroupArns: string[] | undefined;
@@ -1851,6 +1899,53 @@ export namespace DescribeLocationEfsResponse {
});
}
+export interface DescribeLocationFsxLustreRequest {
+ /**
+ * The Amazon Resource Name (ARN) of the FSx for Lustre location to describe.
+ */
+ LocationArn: string | undefined;
+}
+
+export namespace DescribeLocationFsxLustreRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DescribeLocationFsxLustreRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface DescribeLocationFsxLustreResponse {
+ /**
+ * The Amazon Resource Name (ARN) of the FSx for Lustre location that was described.
+ */
+ LocationArn?: string;
+
+ /**
+ * The URI of the FSx for Lustre location that was described.
+ */
+ LocationUri?: string;
+
+ /**
+ * The Amazon Resource Names (ARNs) of the security groups that are configured for the FSx for Lustre file system.
+ */
+ SecurityGroupArns?: string[];
+
+ /**
+ * The time that the FSx for Lustre location was created.
+ */
+ CreationTime?: Date;
+}
+
+export namespace DescribeLocationFsxLustreResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DescribeLocationFsxLustreResponse): any => ({
+ ...obj,
+ });
+}
+
export interface DescribeLocationFsxWindowsRequest {
/**
* The Amazon Resource Name (ARN) of the FSx for Windows File Server location to
@@ -2792,7 +2887,7 @@ export interface LocationListEntry {
LocationArn?: string;
/**
- *
Represents a list of URLs of a location. LocationUri
returns an array that
+ *
Represents a list of URIs of a location. LocationUri
returns an array that
* contains a list of locations when the ListLocations operation is
* called.
* Format: TYPE://GLOBAL_ID/SUBDIR
.
diff --git a/clients/client-datasync/src/protocols/Aws_json1_1.ts b/clients/client-datasync/src/protocols/Aws_json1_1.ts
index 584cedda33f7..ec15e59d3843 100644
--- a/clients/client-datasync/src/protocols/Aws_json1_1.ts
+++ b/clients/client-datasync/src/protocols/Aws_json1_1.ts
@@ -22,6 +22,10 @@ import {
} from "../commands/CancelTaskExecutionCommand";
import { CreateAgentCommandInput, CreateAgentCommandOutput } from "../commands/CreateAgentCommand";
import { CreateLocationEfsCommandInput, CreateLocationEfsCommandOutput } from "../commands/CreateLocationEfsCommand";
+import {
+ CreateLocationFsxLustreCommandInput,
+ CreateLocationFsxLustreCommandOutput,
+} from "../commands/CreateLocationFsxLustreCommand";
import {
CreateLocationFsxWindowsCommandInput,
CreateLocationFsxWindowsCommandOutput,
@@ -43,6 +47,10 @@ import {
DescribeLocationEfsCommandInput,
DescribeLocationEfsCommandOutput,
} from "../commands/DescribeLocationEfsCommand";
+import {
+ DescribeLocationFsxLustreCommandInput,
+ DescribeLocationFsxLustreCommandOutput,
+} from "../commands/DescribeLocationFsxLustreCommand";
import {
DescribeLocationFsxWindowsCommandInput,
DescribeLocationFsxWindowsCommandOutput,
@@ -101,6 +109,8 @@ import {
CreateAgentResponse,
CreateLocationEfsRequest,
CreateLocationEfsResponse,
+ CreateLocationFsxLustreRequest,
+ CreateLocationFsxLustreResponse,
CreateLocationFsxWindowsRequest,
CreateLocationFsxWindowsResponse,
CreateLocationHdfsRequest,
@@ -125,6 +135,8 @@ import {
DescribeAgentResponse,
DescribeLocationEfsRequest,
DescribeLocationEfsResponse,
+ DescribeLocationFsxLustreRequest,
+ DescribeLocationFsxLustreResponse,
DescribeLocationFsxWindowsRequest,
DescribeLocationFsxWindowsResponse,
DescribeLocationHdfsRequest,
@@ -232,6 +244,19 @@ export const serializeAws_json1_1CreateLocationEfsCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+export const serializeAws_json1_1CreateLocationFsxLustreCommand = async (
+ input: CreateLocationFsxLustreCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amz-target": "FmrsService.CreateLocationFsxLustre",
+ };
+ let body: any;
+ body = JSON.stringify(serializeAws_json1_1CreateLocationFsxLustreRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
export const serializeAws_json1_1CreateLocationFsxWindowsCommand = async (
input: CreateLocationFsxWindowsCommandInput,
context: __SerdeContext
@@ -388,6 +413,19 @@ export const serializeAws_json1_1DescribeLocationEfsCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+export const serializeAws_json1_1DescribeLocationFsxLustreCommand = async (
+ input: DescribeLocationFsxLustreCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = {
+ "content-type": "application/x-amz-json-1.1",
+ "x-amz-target": "FmrsService.DescribeLocationFsxLustre",
+ };
+ let body: any;
+ body = JSON.stringify(serializeAws_json1_1DescribeLocationFsxLustreRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
export const serializeAws_json1_1DescribeLocationFsxWindowsCommand = async (
input: DescribeLocationFsxWindowsCommandInput,
context: __SerdeContext
@@ -873,6 +911,68 @@ const deserializeAws_json1_1CreateLocationEfsCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_json1_1CreateLocationFsxLustreCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return deserializeAws_json1_1CreateLocationFsxLustreCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = deserializeAws_json1_1CreateLocationFsxLustreResponse(data, context);
+ const response: CreateLocationFsxLustreCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return Promise.resolve(response);
+};
+
+const deserializeAws_json1_1CreateLocationFsxLustreCommandError = async (
+ 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 "InternalException":
+ case "com.amazonaws.datasync#InternalException":
+ response = {
+ ...(await deserializeAws_json1_1InternalExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidRequestException":
+ case "com.amazonaws.datasync#InvalidRequestException":
+ response = {
+ ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_json1_1CreateLocationFsxWindowsCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -1617,6 +1717,68 @@ const deserializeAws_json1_1DescribeLocationEfsCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_json1_1DescribeLocationFsxLustreCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return deserializeAws_json1_1DescribeLocationFsxLustreCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = deserializeAws_json1_1DescribeLocationFsxLustreResponse(data, context);
+ const response: DescribeLocationFsxLustreCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return Promise.resolve(response);
+};
+
+const deserializeAws_json1_1DescribeLocationFsxLustreCommandError = async (
+ 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 "InternalException":
+ case "com.amazonaws.datasync#InternalException":
+ response = {
+ ...(await deserializeAws_json1_1InternalExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidRequestException":
+ case "com.amazonaws.datasync#InvalidRequestException":
+ response = {
+ ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_json1_1DescribeLocationFsxWindowsCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -3125,6 +3287,23 @@ const serializeAws_json1_1CreateLocationEfsRequest = (
};
};
+const serializeAws_json1_1CreateLocationFsxLustreRequest = (
+ input: CreateLocationFsxLustreRequest,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.FsxFilesystemArn !== undefined &&
+ input.FsxFilesystemArn !== null && { FsxFilesystemArn: input.FsxFilesystemArn }),
+ ...(input.SecurityGroupArns !== undefined &&
+ input.SecurityGroupArns !== null && {
+ SecurityGroupArns: serializeAws_json1_1Ec2SecurityGroupArnList(input.SecurityGroupArns, context),
+ }),
+ ...(input.Subdirectory !== undefined && input.Subdirectory !== null && { Subdirectory: input.Subdirectory }),
+ ...(input.Tags !== undefined &&
+ input.Tags !== null && { Tags: serializeAws_json1_1InputTagList(input.Tags, context) }),
+ };
+};
+
const serializeAws_json1_1CreateLocationFsxWindowsRequest = (
input: CreateLocationFsxWindowsRequest,
context: __SerdeContext
@@ -3310,6 +3489,15 @@ const serializeAws_json1_1DescribeLocationEfsRequest = (
};
};
+const serializeAws_json1_1DescribeLocationFsxLustreRequest = (
+ input: DescribeLocationFsxLustreRequest,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.LocationArn !== undefined && input.LocationArn !== null && { LocationArn: input.LocationArn }),
+ };
+};
+
const serializeAws_json1_1DescribeLocationFsxWindowsRequest = (
input: DescribeLocationFsxWindowsRequest,
context: __SerdeContext
@@ -3856,6 +4044,15 @@ const deserializeAws_json1_1CreateLocationEfsResponse = (
} as any;
};
+const deserializeAws_json1_1CreateLocationFsxLustreResponse = (
+ output: any,
+ context: __SerdeContext
+): CreateLocationFsxLustreResponse => {
+ return {
+ LocationArn: __expectString(output.LocationArn),
+ } as any;
+};
+
const deserializeAws_json1_1CreateLocationFsxWindowsResponse = (
output: any,
context: __SerdeContext
@@ -3967,6 +4164,24 @@ const deserializeAws_json1_1DescribeLocationEfsResponse = (
} as any;
};
+const deserializeAws_json1_1DescribeLocationFsxLustreResponse = (
+ output: any,
+ context: __SerdeContext
+): DescribeLocationFsxLustreResponse => {
+ return {
+ CreationTime:
+ output.CreationTime !== undefined && output.CreationTime !== null
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime)))
+ : undefined,
+ LocationArn: __expectString(output.LocationArn),
+ LocationUri: __expectString(output.LocationUri),
+ SecurityGroupArns:
+ output.SecurityGroupArns !== undefined && output.SecurityGroupArns !== null
+ ? deserializeAws_json1_1Ec2SecurityGroupArnList(output.SecurityGroupArns, context)
+ : undefined,
+ } as any;
+};
+
const deserializeAws_json1_1DescribeLocationFsxWindowsResponse = (
output: any,
context: __SerdeContext
diff --git a/clients/client-dax/src/endpoints.ts b/clients/client-dax/src/endpoints.ts
index 91e7df5247b7..af172ae07d95 100644
--- a/clients/client-dax/src/endpoints.ts
+++ b/clients/client-dax/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-detective/src/endpoints.ts b/clients/client-detective/src/endpoints.ts
index c6f6b90bbe21..4f3ec0512d50 100644
--- a/clients/client-detective/src/endpoints.ts
+++ b/clients/client-detective/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-device-farm/src/endpoints.ts b/clients/client-device-farm/src/endpoints.ts
index 276109fa1401..4182805e4eb2 100644
--- a/clients/client-device-farm/src/endpoints.ts
+++ b/clients/client-device-farm/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-devops-guru/src/endpoints.ts b/clients/client-devops-guru/src/endpoints.ts
index be807d56b235..277a643acc2c 100644
--- a/clients/client-devops-guru/src/endpoints.ts
+++ b/clients/client-devops-guru/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-devops-guru/src/models/models_0.ts b/clients/client-devops-guru/src/models/models_0.ts
index 14013e70be87..ec789b110b02 100644
--- a/clients/client-devops-guru/src/models/models_0.ts
+++ b/clients/client-devops-guru/src/models/models_0.ts
@@ -1971,6 +1971,7 @@ export enum OrganizationResourceCollectionType {
AWS_ACCOUNT = "AWS_ACCOUNT",
AWS_CLOUD_FORMATION = "AWS_CLOUD_FORMATION",
AWS_SERVICE = "AWS_SERVICE",
+ AWS_TAGS = "AWS_TAGS",
}
export interface DescribeOrganizationResourceCollectionHealthRequest {
@@ -2150,6 +2151,57 @@ export namespace ServiceHealth {
});
}
+/**
+ * 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 DescribeOrganizationResourceCollectionHealthResponse {
/**
* The returned CloudFormationHealthOverview
object that contains an
@@ -2174,6 +2226,43 @@ export interface DescribeOrganizationResourceCollectionHealthResponse {
* the next page of results for this operation. If there are no more pages, this value is null.
*/
NextToken?: string;
+
+ /**
+ * 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.
+ *
+ * -
+ *
A tag key (for example, CostCenter
,
+ * Environment
, Project
, or Secret
). Tag
+ * keys are case-sensitive.
+ *
+ * -
+ *
An optional field known as a tag value (for example,
+ * 111122223333
, Production
, or a team
+ * name). Omitting the tag value is the same as using an empty
+ * string. Like tag keys, tag values are
+ * case-sensitive.
+ *
+ *
+ * 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 DescribeOrganizationResourceCollectionHealthResponse {
@@ -2216,57 +2305,6 @@ 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
diff --git a/clients/client-devops-guru/src/protocols/Aws_restJson1.ts b/clients/client-devops-guru/src/protocols/Aws_restJson1.ts
index 9361dd62e3a3..c54919a2785f 100644
--- a/clients/client-devops-guru/src/protocols/Aws_restJson1.ts
+++ b/clients/client-devops-guru/src/protocols/Aws_restJson1.ts
@@ -1699,6 +1699,7 @@ export const deserializeAws_restJson1DescribeOrganizationResourceCollectionHealt
CloudFormation: undefined,
NextToken: undefined,
Service: undefined,
+ Tags: undefined,
};
const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
if (data.Account !== undefined && data.Account !== null) {
@@ -1713,6 +1714,9 @@ export const deserializeAws_restJson1DescribeOrganizationResourceCollectionHealt
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);
};
diff --git a/clients/client-direct-connect/src/endpoints.ts b/clients/client-direct-connect/src/endpoints.ts
index 6c234d59a6c3..6e272ac35243 100644
--- a/clients/client-direct-connect/src/endpoints.ts
+++ b/clients/client-direct-connect/src/endpoints.ts
@@ -81,6 +81,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-directory-service/src/endpoints.ts b/clients/client-directory-service/src/endpoints.ts
index 007f365f738d..c7764e251110 100644
--- a/clients/client-directory-service/src/endpoints.ts
+++ b/clients/client-directory-service/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-dlm/src/endpoints.ts b/clients/client-dlm/src/endpoints.ts
index 610b29327e2a..64e10c3549e9 100644
--- a/clients/client-dlm/src/endpoints.ts
+++ b/clients/client-dlm/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-docdb/src/endpoints.ts b/clients/client-docdb/src/endpoints.ts
index 473f6379e56b..57efad1a73d4 100644
--- a/clients/client-docdb/src/endpoints.ts
+++ b/clients/client-docdb/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"ca-central-1-fips",
"eu-central-1",
diff --git a/clients/client-drs/src/endpoints.ts b/clients/client-drs/src/endpoints.ts
index 861635d0e31d..dc7efa2fb983 100644
--- a/clients/client-drs/src/endpoints.ts
+++ b/clients/client-drs/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-dynamodb-streams/src/endpoints.ts b/clients/client-dynamodb-streams/src/endpoints.ts
index 21e97583ed0e..5231bba2ac2c 100644
--- a/clients/client-dynamodb-streams/src/endpoints.ts
+++ b/clients/client-dynamodb-streams/src/endpoints.ts
@@ -48,6 +48,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-dynamodb/src/endpoints.ts b/clients/client-dynamodb/src/endpoints.ts
index e715782c94f5..9c79d80e38e3 100644
--- a/clients/client-dynamodb/src/endpoints.ts
+++ b/clients/client-dynamodb/src/endpoints.ts
@@ -108,6 +108,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"ca-central-1-fips",
"eu-central-1",
diff --git a/clients/client-ebs/src/endpoints.ts b/clients/client-ebs/src/endpoints.ts
index 2ec1e3949fd9..dca0cff76db3 100644
--- a/clients/client-ebs/src/endpoints.ts
+++ b/clients/client-ebs/src/endpoints.ts
@@ -75,6 +75,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-ec2-instance-connect/src/endpoints.ts b/clients/client-ec2-instance-connect/src/endpoints.ts
index 93fc4503a6c1..c4aa2f9d32bc 100644
--- a/clients/client-ec2-instance-connect/src/endpoints.ts
+++ b/clients/client-ec2-instance-connect/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-ec2/src/endpoints.ts b/clients/client-ec2/src/endpoints.ts
index 2c94689d50fa..7d42eb1fc8d1 100644
--- a/clients/client-ec2/src/endpoints.ts
+++ b/clients/client-ec2/src/endpoints.ts
@@ -141,6 +141,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-ec2/src/waiters/index.ts b/clients/client-ec2/src/waiters/index.ts
index da866b0f2c9b..478d7001e8a8 100644
--- a/clients/client-ec2/src/waiters/index.ts
+++ b/clients/client-ec2/src/waiters/index.ts
@@ -12,6 +12,7 @@ export * from "./waitForInstanceRunning";
export * from "./waitForInstanceStatusOk";
export * from "./waitForInstanceStopped";
export * from "./waitForInstanceTerminated";
+export * from "./waitForInternetGatewayExists";
export * from "./waitForKeyPairExists";
export * from "./waitForNatGatewayAvailable";
export * from "./waitForNetworkInterfaceAvailable";
diff --git a/clients/client-ec2/src/waiters/waitForInternetGatewayExists.ts b/clients/client-ec2/src/waiters/waitForInternetGatewayExists.ts
new file mode 100644
index 000000000000..8dfce4431d1f
--- /dev/null
+++ b/clients/client-ec2/src/waiters/waitForInternetGatewayExists.ts
@@ -0,0 +1,57 @@
+import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@aws-sdk/util-waiter";
+
+import {
+ DescribeInternetGatewaysCommand,
+ DescribeInternetGatewaysCommandInput,
+} from "../commands/DescribeInternetGatewaysCommand";
+import { EC2Client } from "../EC2Client";
+
+const checkState = async (client: EC2Client, input: DescribeInternetGatewaysCommandInput): Promise => {
+ let reason;
+ try {
+ const result: any = await client.send(new DescribeInternetGatewaysCommand(input));
+ reason = result;
+ try {
+ const returnComparator = () => {
+ const flat_1: any[] = [].concat(...result.InternetGateways);
+ const projection_3 = flat_1.map((element_2: any) => {
+ return element_2.InternetGatewayId;
+ });
+ return projection_3.length > 0.0;
+ };
+ if (returnComparator() == true) {
+ return { state: WaiterState.SUCCESS, reason };
+ }
+ } catch (e) {}
+ } catch (exception) {
+ reason = exception;
+ if (exception.name && exception.name == "InvalidInternetGateway.NotFound") {
+ return { state: WaiterState.RETRY, reason };
+ }
+ }
+ return { state: WaiterState.RETRY, reason };
+};
+/**
+ *
+ * @deprecated Use waitUntilInternetGatewayExists instead. waitForInternetGatewayExists does not throw error in non-success cases.
+ */
+export const waitForInternetGatewayExists = async (
+ params: WaiterConfiguration,
+ input: DescribeInternetGatewaysCommandInput
+): Promise => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ return createWaiter({ ...serviceDefaults, ...params }, input, checkState);
+};
+/**
+ *
+ * @param params - Waiter configuration options.
+ * @param input - The input to DescribeInternetGatewaysCommand for polling.
+ */
+export const waitUntilInternetGatewayExists = async (
+ params: WaiterConfiguration,
+ input: DescribeInternetGatewaysCommandInput
+): Promise => {
+ const serviceDefaults = { minDelay: 5, maxDelay: 120 };
+ const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState);
+ return checkExceptions(result);
+};
diff --git a/clients/client-ecr-public/src/endpoints.ts b/clients/client-ecr-public/src/endpoints.ts
index db2f79aff97e..4a801cd0153a 100644
--- a/clients/client-ecr-public/src/endpoints.ts
+++ b/clients/client-ecr-public/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-ecr/src/endpoints.ts b/clients/client-ecr/src/endpoints.ts
index d146efb47a6c..c570c39cf7bf 100644
--- a/clients/client-ecr/src/endpoints.ts
+++ b/clients/client-ecr/src/endpoints.ts
@@ -74,6 +74,15 @@ const regionHash: RegionHash = {
],
signingRegion: "ap-southeast-2",
},
+ "ap-southeast-3": {
+ variants: [
+ {
+ hostname: "api.ecr.ap-southeast-3.amazonaws.com",
+ tags: [],
+ },
+ ],
+ signingRegion: "ap-southeast-3",
+ },
"ca-central-1": {
variants: [
{
@@ -291,6 +300,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"dkr-us-east-1",
"dkr-us-east-2",
diff --git a/clients/client-ecs/src/endpoints.ts b/clients/client-ecs/src/endpoints.ts
index d13253fb9061..917802a2adfe 100644
--- a/clients/client-ecs/src/endpoints.ts
+++ b/clients/client-ecs/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-efs/src/endpoints.ts b/clients/client-efs/src/endpoints.ts
index 4c8069baa2b6..cce994fba651 100644
--- a/clients/client-efs/src/endpoints.ts
+++ b/clients/client-efs/src/endpoints.ts
@@ -327,6 +327,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-eks/src/endpoints.ts b/clients/client-eks/src/endpoints.ts
index c8fee3f3beee..144a040b5308 100644
--- a/clients/client-eks/src/endpoints.ts
+++ b/clients/client-eks/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-elastic-beanstalk/src/endpoints.ts b/clients/client-elastic-beanstalk/src/endpoints.ts
index 8509fd869001..0502fe0182ba 100644
--- a/clients/client-elastic-beanstalk/src/endpoints.ts
+++ b/clients/client-elastic-beanstalk/src/endpoints.ts
@@ -81,6 +81,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-elastic-inference/src/endpoints.ts b/clients/client-elastic-inference/src/endpoints.ts
index caf4e49ca454..11d201fa4da7 100644
--- a/clients/client-elastic-inference/src/endpoints.ts
+++ b/clients/client-elastic-inference/src/endpoints.ts
@@ -63,6 +63,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-elastic-load-balancing-v2/src/endpoints.ts b/clients/client-elastic-load-balancing-v2/src/endpoints.ts
index 0c97a81af404..e6222b704d14 100644
--- a/clients/client-elastic-load-balancing-v2/src/endpoints.ts
+++ b/clients/client-elastic-load-balancing-v2/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-elastic-load-balancing/src/endpoints.ts b/clients/client-elastic-load-balancing/src/endpoints.ts
index 0c97a81af404..e6222b704d14 100644
--- a/clients/client-elastic-load-balancing/src/endpoints.ts
+++ b/clients/client-elastic-load-balancing/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-elastic-transcoder/src/endpoints.ts b/clients/client-elastic-transcoder/src/endpoints.ts
index fcbe5d1e580d..58c36fef50fe 100644
--- a/clients/client-elastic-transcoder/src/endpoints.ts
+++ b/clients/client-elastic-transcoder/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-elasticache/src/endpoints.ts b/clients/client-elasticache/src/endpoints.ts
index f01448c89319..0641f21f2f26 100644
--- a/clients/client-elasticache/src/endpoints.ts
+++ b/clients/client-elasticache/src/endpoints.ts
@@ -75,6 +75,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-elasticsearch-service/src/endpoints.ts b/clients/client-elasticsearch-service/src/endpoints.ts
index c1f5bfbc7c09..25ccc5c7e2ae 100644
--- a/clients/client-elasticsearch-service/src/endpoints.ts
+++ b/clients/client-elasticsearch-service/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-emr-containers/src/endpoints.ts b/clients/client-emr-containers/src/endpoints.ts
index f048d3d3156f..4552ee0f969c 100644
--- a/clients/client-emr-containers/src/endpoints.ts
+++ b/clients/client-emr-containers/src/endpoints.ts
@@ -75,6 +75,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-emr/src/endpoints.ts b/clients/client-emr/src/endpoints.ts
index 94314e4c2863..f3866f4fdd4f 100644
--- a/clients/client-emr/src/endpoints.ts
+++ b/clients/client-emr/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-eventbridge/src/endpoints.ts b/clients/client-eventbridge/src/endpoints.ts
index 6e6b75d81970..f85979f649db 100644
--- a/clients/client-eventbridge/src/endpoints.ts
+++ b/clients/client-eventbridge/src/endpoints.ts
@@ -81,6 +81,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-evidently/src/endpoints.ts b/clients/client-evidently/src/endpoints.ts
index 6ef6d055ae50..f53433e96c31 100644
--- a/clients/client-evidently/src/endpoints.ts
+++ b/clients/client-evidently/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-finspace-data/src/endpoints.ts b/clients/client-finspace-data/src/endpoints.ts
index ce36509298d8..c7d43169986e 100644
--- a/clients/client-finspace-data/src/endpoints.ts
+++ b/clients/client-finspace-data/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-finspace-data/src/models/models_0.ts b/clients/client-finspace-data/src/models/models_0.ts
index c876b2d6a900..a80a6529cb06 100644
--- a/clients/client-finspace-data/src/models/models_0.ts
+++ b/clients/client-finspace-data/src/models/models_0.ts
@@ -473,7 +473,7 @@ export interface CreateDatasetRequest {
/**
* Description of a Dataset.
*/
- datasetDescription: string | undefined;
+ datasetDescription?: string;
/**
* Contact information for a Dataset owner.
@@ -488,7 +488,7 @@ export interface CreateDatasetRequest {
/**
* The unique resource identifier for a Dataset.
*/
- alias: string | undefined;
+ alias?: string;
/**
* Definition for a schema on a tabular Dataset.
@@ -524,6 +524,11 @@ export namespace CreateDatasetResponse {
});
}
+export enum ExportFileFormat {
+ DELIMITED_TEXT = "DELIMITED_TEXT",
+ PARQUET = "PARQUET",
+}
+
/**
* Structure for the Dataview destination type parameters.
*/
@@ -538,6 +543,13 @@ export interface DataViewDestinationTypeParams {
*
*/
destinationType: string | undefined;
+
+ /**
+ * Data View Export File Format
+ */
+ s3DestinationExportFileFormat?: ExportFileFormat | string;
+
+ s3DestinationExportFileFormatOptions?: { [key: string]: string };
}
export namespace DataViewDestinationTypeParams {
@@ -839,6 +851,11 @@ export interface GetChangesetResponse {
*/
activeUntilTimestamp?: number;
+ /**
+ * Milliseconds since UTC epoch
+ */
+ activeFromTimestamp?: number;
+
/**
* The unique identifier of the Changeset that is being updated.
*/
@@ -1441,6 +1458,11 @@ export interface ChangesetSummary {
*/
activeUntilTimestamp?: number;
+ /**
+ * Milliseconds since UTC epoch
+ */
+ activeFromTimestamp?: number;
+
/**
* The unique identifier of the Changeset that is updated.
*/
@@ -1870,7 +1892,7 @@ export interface UpdateDatasetRequest {
/**
* The unique resource identifier for a Dataset.
*/
- alias: string | undefined;
+ alias?: string;
/**
* Definition for a schema on a tabular Dataset.
diff --git a/clients/client-finspace-data/src/protocols/Aws_restJson1.ts b/clients/client-finspace-data/src/protocols/Aws_restJson1.ts
index 11e746125403..d9294dcd34c4 100644
--- a/clients/client-finspace-data/src/protocols/Aws_restJson1.ts
+++ b/clients/client-finspace-data/src/protocols/Aws_restJson1.ts
@@ -973,6 +973,7 @@ export const deserializeAws_restJson1GetChangesetCommand = async (
}
const contents: GetChangesetCommandOutput = {
$metadata: deserializeMetadata(output),
+ activeFromTimestamp: undefined,
activeUntilTimestamp: undefined,
changeType: undefined,
changesetArn: undefined,
@@ -987,6 +988,9 @@ export const deserializeAws_restJson1GetChangesetCommand = async (
updatesChangesetId: undefined,
};
const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.activeFromTimestamp !== undefined && data.activeFromTimestamp !== null) {
+ contents.activeFromTimestamp = __expectLong(data.activeFromTimestamp);
+ }
if (data.activeUntilTimestamp !== undefined && data.activeUntilTimestamp !== null) {
contents.activeUntilTimestamp = __expectLong(data.activeUntilTimestamp);
}
@@ -2174,6 +2178,17 @@ const serializeAws_restJson1DataViewDestinationTypeParams = (
return {
...(input.destinationType !== undefined &&
input.destinationType !== null && { destinationType: input.destinationType }),
+ ...(input.s3DestinationExportFileFormat !== undefined &&
+ input.s3DestinationExportFileFormat !== null && {
+ s3DestinationExportFileFormat: input.s3DestinationExportFileFormat,
+ }),
+ ...(input.s3DestinationExportFileFormatOptions !== undefined &&
+ input.s3DestinationExportFileFormatOptions !== null && {
+ s3DestinationExportFileFormatOptions: serializeAws_restJson1S3DestinationFormatOptions(
+ input.s3DestinationExportFileFormatOptions,
+ context
+ ),
+ }),
};
};
@@ -2228,6 +2243,21 @@ const serializeAws_restJson1ResourcePermissionsList = (input: ResourcePermission
});
};
+const serializeAws_restJson1S3DestinationFormatOptions = (
+ 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_restJson1SchemaDefinition = (input: SchemaDefinition, context: __SerdeContext): any => {
return {
...(input.columns !== undefined &&
@@ -2291,6 +2321,7 @@ const deserializeAws_restJson1ChangesetList = (output: any, context: __SerdeCont
const deserializeAws_restJson1ChangesetSummary = (output: any, context: __SerdeContext): ChangesetSummary => {
return {
+ activeFromTimestamp: __expectLong(output.activeFromTimestamp),
activeUntilTimestamp: __expectLong(output.activeUntilTimestamp),
changeType: __expectString(output.changeType),
changesetArn: __expectString(output.changesetArn),
@@ -2399,6 +2430,11 @@ const deserializeAws_restJson1DataViewDestinationTypeParams = (
): DataViewDestinationTypeParams => {
return {
destinationType: __expectString(output.destinationType),
+ s3DestinationExportFileFormat: __expectString(output.s3DestinationExportFileFormat),
+ s3DestinationExportFileFormatOptions:
+ output.s3DestinationExportFileFormatOptions !== undefined && output.s3DestinationExportFileFormatOptions !== null
+ ? deserializeAws_restJson1S3DestinationFormatOptions(output.s3DestinationExportFileFormatOptions, context)
+ : undefined,
} as any;
};
@@ -2472,6 +2508,21 @@ const deserializeAws_restJson1PartitionColumnList = (output: any, context: __Ser
});
};
+const deserializeAws_restJson1S3DestinationFormatOptions = (
+ 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_restJson1SchemaDefinition = (output: any, context: __SerdeContext): SchemaDefinition => {
return {
columns:
diff --git a/clients/client-finspace/src/endpoints.ts b/clients/client-finspace/src/endpoints.ts
index 0745a29ea6d1..783c26180773 100644
--- a/clients/client-finspace/src/endpoints.ts
+++ b/clients/client-finspace/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-firehose/src/endpoints.ts b/clients/client-firehose/src/endpoints.ts
index 4a1d13a9d68e..120888f9fde5 100644
--- a/clients/client-firehose/src/endpoints.ts
+++ b/clients/client-firehose/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-fis/src/endpoints.ts b/clients/client-fis/src/endpoints.ts
index e3f84979efe5..54ffe9aec05b 100644
--- a/clients/client-fis/src/endpoints.ts
+++ b/clients/client-fis/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-fms/src/endpoints.ts b/clients/client-fms/src/endpoints.ts
index 30a5811de493..507caed511dc 100644
--- a/clients/client-fms/src/endpoints.ts
+++ b/clients/client-fms/src/endpoints.ts
@@ -267,6 +267,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-forecast/src/Forecast.ts b/clients/client-forecast/src/Forecast.ts
index 06aba57749be..2773a5177f0c 100644
--- a/clients/client-forecast/src/Forecast.ts
+++ b/clients/client-forecast/src/Forecast.ts
@@ -231,7 +231,7 @@ export class Forecast extends ForecastClient {
* Creates an Amazon Forecast predictor.
* Amazon Forecast creates predictors with AutoPredictor, which involves applying the
* optimal combination of algorithms to each time series in your datasets. You can use
- * CreateAutoPredictor to create new predictors or upgrade/retrain existing
+ * CreateAutoPredictor to create new predictors or upgrade/retrain existing
* predictors.
*
* Creating new predictors
@@ -543,7 +543,7 @@ export class Forecast extends ForecastClient {
* CreateExplainability with a Forecast ARN
*
*
- * You can specify a maximum of 50 time series and 1500 time points.
+ * You can specify a maximum of 50 time series and 500 time points.
*
* The following parameters are required when providing a Predictor ARN:
*
*
* Creates an Amazon Forecast predictor.
* In the request, provide a dataset group and either specify an algorithm or let Amazon Forecast
@@ -852,8 +852,8 @@ export class Forecast extends ForecastClient {
}
/**
- *
Exports backtest forecasts and accuracy metrics generated by the CreatePredictor operation. Two folders containing CSV files are exported
- * to your specified S3 bucket.
+ * Exports backtest forecasts and accuracy metrics generated by the CreateAutoPredictor or CreatePredictor operations. Two
+ * folders containing CSV files are exported to your specified S3 bucket.
* The export file names will match the following conventions:
*
* __.csv
@@ -864,8 +864,8 @@ export class Forecast extends ForecastClient {
* bucket and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3
* bucket. For more information, see aws-forecast-iam-roles.
*
- * The Status
of the export job must be ACTIVE
before
- * you can access the export in your Amazon S3 bucket. To get the status, use the DescribePredictorBacktestExportJob operation.
+ * The Status
of the export job must be ACTIVE
before you
+ * can access the export in your Amazon S3 bucket. To get the status, use the DescribePredictorBacktestExportJob operation.
*
*/
public createPredictorBacktestExportJob(
@@ -1041,7 +1041,7 @@ export class Forecast extends ForecastClient {
}
/**
- * Deletes an Explainability export job.
+ * Deletes an Explainability export.
*/
public deleteExplainabilityExport(
args: DeleteExplainabilityExportCommandInput,
@@ -1143,9 +1143,8 @@ export class Forecast extends ForecastClient {
}
/**
- * Deletes a predictor created using the CreatePredictor operation. You can
- * delete only predictor that have a status of ACTIVE
or CREATE_FAILED
.
- * To get the status, use the DescribePredictor operation.
+ * Deletes a predictor created using the DescribePredictor or CreatePredictor operations. You can delete only predictor that have a status of
+ * ACTIVE
or CREATE_FAILED
. To get the status, use the DescribePredictor operation.
*/
public deletePredictor(
args: DeletePredictorCommandInput,
@@ -1660,8 +1659,7 @@ export class Forecast extends ForecastClient {
/**
*
* This operation is only valid for legacy predictors created with CreatePredictor. If you
- * are not using a legacy predictor, use DescribeAutoPredictor.
- * To upgrade a legacy predictor to AutoPredictor, see Upgrading to AutoPredictor.
+ * are not using a legacy predictor, use DescribeAutoPredictor.
*
* Describes a predictor created using the CreatePredictor
* operation.
@@ -1731,7 +1729,7 @@ export class Forecast extends ForecastClient {
/**
* Describes a predictor backtest export job created using the CreatePredictorBacktestExportJob operation.
* In addition to listing the properties provided by the user in the
- * CreatePredictorBacktestExportJob
request, this operation lists the
+ * CreatePredictorBacktestExportJob
request, this operation lists the
* following properties:
*
* -
@@ -2077,10 +2075,10 @@ export class Forecast extends ForecastClient {
}
/**
- *
Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a summary
- * for each backtest export job. You can filter the list using an array of Filter objects.
- * To retrieve the complete set of properties for a particular backtest export job, use the
- * ARN with the DescribePredictorBacktestExportJob operation.
+ * Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a
+ * summary for each backtest export job. You can filter the list using an array of Filter objects.
+ * To retrieve the complete set of properties for a particular backtest export job, use
+ * the ARN with the DescribePredictorBacktestExportJob operation.
*/
public listPredictorBacktestExportJobs(
args: ListPredictorBacktestExportJobsCommandInput,
@@ -2112,11 +2110,11 @@ export class Forecast extends ForecastClient {
}
/**
- * Returns a list of predictors created using the CreatePredictor
- * operation. For each predictor, this operation returns a summary of its properties, including
- * its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the
- * ARN with the DescribePredictor operation. You can filter the list using an
- * array of Filter objects.
+ * Returns a list of predictors created using the CreateAutoPredictor or
+ * CreatePredictor operations. For each predictor, this operation returns a
+ * summary of its properties, including its Amazon Resource Name (ARN).
+ * You can retrieve the complete set of properties by using the ARN with the DescribeAutoPredictor and DescribePredictor operations. You
+ * can filter the list using an array of Filter objects.
*/
public listPredictors(
args: ListPredictorsCommandInput,
@@ -2181,9 +2179,9 @@ export class Forecast extends ForecastClient {
/**
* Stops a resource.
- * The resource undergoes the following states:
- * CREATE_STOPPING
and CREATE_STOPPED
. You cannot resume
- * a resource once it has been stopped.
+ * The resource undergoes the following states: CREATE_STOPPING
and
+ * CREATE_STOPPED
. You cannot resume a resource once it has been
+ * stopped.
* This operation can be applied to the following resources (and their corresponding child
* resources):
*
*/
public stopResource(
@@ -2231,7 +2235,10 @@ export class Forecast extends ForecastClient {
}
/**
- * Associates the specified tags to a resource with the specified resourceArn
. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted.
+ * Associates the specified tags to a resource with the specified resourceArn
.
+ * If existing tags on a resource are not specified in the request parameters, they are not
+ * changed. When a resource is deleted, the tags associated with that resource are also
+ * deleted.
*/
public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise;
public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
diff --git a/clients/client-forecast/src/commands/CreateAutoPredictorCommand.ts b/clients/client-forecast/src/commands/CreateAutoPredictorCommand.ts
index b8722bb04ab5..cf64ba85f52d 100644
--- a/clients/client-forecast/src/commands/CreateAutoPredictorCommand.ts
+++ b/clients/client-forecast/src/commands/CreateAutoPredictorCommand.ts
@@ -25,7 +25,7 @@ export interface CreateAutoPredictorCommandOutput extends CreateAutoPredictorRes
* Creates an Amazon Forecast predictor.
* Amazon Forecast creates predictors with AutoPredictor, which involves applying the
* optimal combination of algorithms to each time series in your datasets. You can use
- * CreateAutoPredictor to create new predictors or upgrade/retrain existing
+ * CreateAutoPredictor to create new predictors or upgrade/retrain existing
* predictors.
*
* Creating new predictors
diff --git a/clients/client-forecast/src/commands/CreateExplainabilityCommand.ts b/clients/client-forecast/src/commands/CreateExplainabilityCommand.ts
index be8784c49042..26275becb93e 100644
--- a/clients/client-forecast/src/commands/CreateExplainabilityCommand.ts
+++ b/clients/client-forecast/src/commands/CreateExplainabilityCommand.ts
@@ -92,7 +92,7 @@ export interface CreateExplainabilityCommandOutput extends CreateExplainabilityR
* CreateExplainability with a Forecast ARN
*
*
- * You can specify a maximum of 50 time series and 1500 time points.
+ * You can specify a maximum of 50 time series and 500 time points.
*
* The following parameters are required when providing a Predictor ARN:
*
diff --git a/clients/client-forecast/src/commands/CreatePredictorBacktestExportJobCommand.ts b/clients/client-forecast/src/commands/CreatePredictorBacktestExportJobCommand.ts
index 4e3e600924d1..48cbb2a0463c 100644
--- a/clients/client-forecast/src/commands/CreatePredictorBacktestExportJobCommand.ts
+++ b/clients/client-forecast/src/commands/CreatePredictorBacktestExportJobCommand.ts
@@ -24,8 +24,8 @@ export interface CreatePredictorBacktestExportJobCommandOutput
__MetadataBearer {}
/**
- * Exports backtest forecasts and accuracy metrics generated by the CreatePredictor operation. Two folders containing CSV files are exported
- * to your specified S3 bucket.
+ * Exports backtest forecasts and accuracy metrics generated by the CreateAutoPredictor or CreatePredictor operations. Two
+ * folders containing CSV files are exported to your specified S3 bucket.
* The export file names will match the following conventions:
*
* __.csv
@@ -36,8 +36,8 @@ export interface CreatePredictorBacktestExportJobCommandOutput
* bucket and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3
* bucket. For more information, see aws-forecast-iam-roles.
*
- * The Status
of the export job must be ACTIVE
before
- * you can access the export in your Amazon S3 bucket. To get the status, use the DescribePredictorBacktestExportJob operation.
+ * The Status
of the export job must be ACTIVE
before you
+ * can access the export in your Amazon S3 bucket. To get the status, use the DescribePredictorBacktestExportJob operation.
*
* @example
* Use a bare-bones client and the command you need to make an API call.
diff --git a/clients/client-forecast/src/commands/CreatePredictorCommand.ts b/clients/client-forecast/src/commands/CreatePredictorCommand.ts
index ff0bc7d0c3f5..3efa497590c6 100644
--- a/clients/client-forecast/src/commands/CreatePredictorCommand.ts
+++ b/clients/client-forecast/src/commands/CreatePredictorCommand.ts
@@ -25,7 +25,7 @@ export interface CreatePredictorCommandOutput extends CreatePredictorResponse, _
*
* This operation creates a legacy predictor that does not include all the predictor
* functionalities provided by Amazon Forecast. To create a predictor that is compatible with all
- * aspects of Forecast, use CreateAutoPredictor.
+ * aspects of Forecast, use CreateAutoPredictor.
*
* Creates an Amazon Forecast predictor.
* In the request, provide a dataset group and either specify an algorithm or let Amazon Forecast
diff --git a/clients/client-forecast/src/commands/DeleteExplainabilityExportCommand.ts b/clients/client-forecast/src/commands/DeleteExplainabilityExportCommand.ts
index 793654ef0192..d32016bdf6ea 100644
--- a/clients/client-forecast/src/commands/DeleteExplainabilityExportCommand.ts
+++ b/clients/client-forecast/src/commands/DeleteExplainabilityExportCommand.ts
@@ -22,7 +22,7 @@ export interface DeleteExplainabilityExportCommandInput extends DeleteExplainabi
export interface DeleteExplainabilityExportCommandOutput extends __MetadataBearer {}
/**
- *
Deletes an Explainability export job.
+ * Deletes an Explainability export.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-forecast/src/commands/DeletePredictorCommand.ts b/clients/client-forecast/src/commands/DeletePredictorCommand.ts
index 4d485cf9b3e3..4df123746437 100644
--- a/clients/client-forecast/src/commands/DeletePredictorCommand.ts
+++ b/clients/client-forecast/src/commands/DeletePredictorCommand.ts
@@ -22,9 +22,8 @@ export interface DeletePredictorCommandInput extends DeletePredictorRequest {}
export interface DeletePredictorCommandOutput extends __MetadataBearer {}
/**
- * Deletes a predictor created using the CreatePredictor operation. You can
- * delete only predictor that have a status of ACTIVE
or CREATE_FAILED
.
- * To get the status, use the DescribePredictor operation.
+ * Deletes a predictor created using the DescribePredictor or CreatePredictor operations. You can delete only predictor that have a status of
+ * ACTIVE
or CREATE_FAILED
. To get the status, use the DescribePredictor operation.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-forecast/src/commands/DescribePredictorBacktestExportJobCommand.ts b/clients/client-forecast/src/commands/DescribePredictorBacktestExportJobCommand.ts
index 703d87d43c28..f4c2d621fde0 100644
--- a/clients/client-forecast/src/commands/DescribePredictorBacktestExportJobCommand.ts
+++ b/clients/client-forecast/src/commands/DescribePredictorBacktestExportJobCommand.ts
@@ -29,7 +29,7 @@ export interface DescribePredictorBacktestExportJobCommandOutput
/**
* Describes a predictor backtest export job created using the CreatePredictorBacktestExportJob operation.
* In addition to listing the properties provided by the user in the
- * CreatePredictorBacktestExportJob
request, this operation lists the
+ * CreatePredictorBacktestExportJob
request, this operation lists the
* following properties:
*
* -
diff --git a/clients/client-forecast/src/commands/DescribePredictorCommand.ts b/clients/client-forecast/src/commands/DescribePredictorCommand.ts
index e30b94698acd..8225421cd032 100644
--- a/clients/client-forecast/src/commands/DescribePredictorCommand.ts
+++ b/clients/client-forecast/src/commands/DescribePredictorCommand.ts
@@ -24,8 +24,7 @@ export interface DescribePredictorCommandOutput extends DescribePredictorRespons
/**
*
*
This operation is only valid for legacy predictors created with CreatePredictor. If you
- * are not using a legacy predictor, use DescribeAutoPredictor.
- * To upgrade a legacy predictor to AutoPredictor, see Upgrading to AutoPredictor.
+ * are not using a legacy predictor, use DescribeAutoPredictor.
*
* Describes a predictor created using the CreatePredictor
* operation.
diff --git a/clients/client-forecast/src/commands/ListPredictorBacktestExportJobsCommand.ts b/clients/client-forecast/src/commands/ListPredictorBacktestExportJobsCommand.ts
index d6e57903ca1a..8af8b54487f6 100644
--- a/clients/client-forecast/src/commands/ListPredictorBacktestExportJobsCommand.ts
+++ b/clients/client-forecast/src/commands/ListPredictorBacktestExportJobsCommand.ts
@@ -24,10 +24,10 @@ export interface ListPredictorBacktestExportJobsCommandOutput
__MetadataBearer {}
/**
- * Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a summary
- * for each backtest export job. You can filter the list using an array of Filter objects.
- * To retrieve the complete set of properties for a particular backtest export job, use the
- * ARN with the DescribePredictorBacktestExportJob operation.
+ * Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob operation. This operation returns a
+ * summary for each backtest export job. You can filter the list using an array of Filter objects.
+ * To retrieve the complete set of properties for a particular backtest export job, use
+ * the ARN with the DescribePredictorBacktestExportJob operation.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-forecast/src/commands/ListPredictorsCommand.ts b/clients/client-forecast/src/commands/ListPredictorsCommand.ts
index 086c6e3dbe76..01cf762b6b97 100644
--- a/clients/client-forecast/src/commands/ListPredictorsCommand.ts
+++ b/clients/client-forecast/src/commands/ListPredictorsCommand.ts
@@ -22,11 +22,11 @@ export interface ListPredictorsCommandInput extends ListPredictorsRequest {}
export interface ListPredictorsCommandOutput extends ListPredictorsResponse, __MetadataBearer {}
/**
- * Returns a list of predictors created using the CreatePredictor
- * operation. For each predictor, this operation returns a summary of its properties, including
- * its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the
- * ARN with the DescribePredictor operation. You can filter the list using an
- * array of Filter objects.
+ * Returns a list of predictors created using the CreateAutoPredictor or
+ * CreatePredictor operations. For each predictor, this operation returns a
+ * summary of its properties, including its Amazon Resource Name (ARN).
+ * You can retrieve the complete set of properties by using the ARN with the DescribeAutoPredictor and DescribePredictor operations. You
+ * can filter the list using an array of Filter objects.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-forecast/src/commands/StopResourceCommand.ts b/clients/client-forecast/src/commands/StopResourceCommand.ts
index bb140580e532..34926f61874e 100644
--- a/clients/client-forecast/src/commands/StopResourceCommand.ts
+++ b/clients/client-forecast/src/commands/StopResourceCommand.ts
@@ -23,9 +23,9 @@ export interface StopResourceCommandOutput extends __MetadataBearer {}
/**
* Stops a resource.
- * The resource undergoes the following states:
- * CREATE_STOPPING
and CREATE_STOPPED
. You cannot resume
- * a resource once it has been stopped.
+ * The resource undergoes the following states: CREATE_STOPPING
and
+ * CREATE_STOPPED
. You cannot resume a resource once it has been
+ * stopped.
* This operation can be applied to the following resources (and their corresponding child
* resources):
*
* @example
* Use a bare-bones client and the command you need to make an API call.
diff --git a/clients/client-forecast/src/commands/TagResourceCommand.ts b/clients/client-forecast/src/commands/TagResourceCommand.ts
index ee216871babf..915b824da330 100644
--- a/clients/client-forecast/src/commands/TagResourceCommand.ts
+++ b/clients/client-forecast/src/commands/TagResourceCommand.ts
@@ -22,7 +22,10 @@ export interface TagResourceCommandInput extends TagResourceRequest {}
export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {}
/**
- * Associates the specified tags to a resource with the specified resourceArn
. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted.
+ * Associates the specified tags to a resource with the specified resourceArn
.
+ * If existing tags on a resource are not specified in the request parameters, they are not
+ * changed. When a resource is deleted, the tags associated with that resource are also
+ * deleted.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-forecast/src/endpoints.ts b/clients/client-forecast/src/endpoints.ts
index d161f7c98b10..8632fd769ae8 100644
--- a/clients/client-forecast/src/endpoints.ts
+++ b/clients/client-forecast/src/endpoints.ts
@@ -51,6 +51,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-forecast/src/models/models_0.ts b/clients/client-forecast/src/models/models_0.ts
index 117aadcd70b3..72335039eb36 100644
--- a/clients/client-forecast/src/models/models_0.ts
+++ b/clients/client-forecast/src/models/models_0.ts
@@ -36,7 +36,7 @@ export interface AdditionalDataset {
*
* Holidays
*
- * To enable Holidays, specify a country with one of the following two-letter country
+ *
To enable Holidays, set CountryCode
to one of the following two-letter country
* codes:
*
* -
@@ -420,14 +420,16 @@ export enum OptimizationMetric {
}
/**
- *
The optional metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.
+ * The optional metadata that you apply to a resource to help you categorize and organize
+ * them. Each tag consists of a key and an optional value, both of which you define.
* The following basic restrictions apply to tags:
*
* -
*
Maximum number of tags per resource - 50.
*
* -
- *
For each resource, each tag key must be unique, and each tag key can have only one value.
+ * For each resource, each tag key must be unique, and each tag key can have only one
+ * value.
*
* -
*
Maximum key length - 128 Unicode characters in UTF-8.
@@ -436,24 +438,34 @@ export enum OptimizationMetric {
* Maximum value length - 256 Unicode characters in UTF-8.
*
* -
- *
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
+ * If your tagging schema is used across multiple services and resources, remember that
+ * other services may have restrictions on allowed characters. Generally allowed characters
+ * are: letters, numbers, and spaces representable in UTF-8, and the following characters: +
+ * - = . _ : / @.
*
* -
*
Tag keys and values are case sensitive.
*
* -
- *
Do not use aws:
, AWS:
, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws
as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws
do not count against your tags per resource limit.
+ * Do not use aws:
, AWS:
, or any upper or lowercase combination
+ * of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag
+ * keys with this prefix. Values can have this prefix. If a tag value has aws
as
+ * its prefix but the key does not, then Forecast considers it to be a user tag and will
+ * count against the limit of 50 tags. Tags with only the key prefix of aws
do
+ * not count against your tags per resource limit.
*
*
*/
export interface Tag {
/**
- * One part of a key-value pair that makes up a tag. A key
is a general label that acts like a category for more specific tag values.
+ * One part of a key-value pair that makes up a tag. A key
is a general label
+ * that acts like a category for more specific tag values.
*/
Key: string | undefined;
/**
- * The optional part of a key-value pair that makes up a tag. A value
acts as a descriptor within a tag category (key).
+ * The optional part of a key-value pair that makes up a tag. A value
acts as a
+ * descriptor within a tag category (key).
*/
Value: string | undefined;
}
@@ -536,7 +548,11 @@ export interface CreateAutoPredictorRequest {
*/
OptimizationMetric?: OptimizationMetric | string;
+ /**
+ * Create an Explainability resource for the predictor.
+ */
ExplainPredictor?: boolean;
+
/**
* Optional metadata to help you categorize and organize your predictors. Each tag
* consists of a key and an optional value, both of which you define. Tag keys and values
@@ -743,7 +759,7 @@ export namespace SchemaAttribute {
}
/**
- *
Defines the fields of a dataset. You specify this object in the CreateDataset request.
+ * Defines the fields of a dataset.
*/
export interface Schema {
/**
@@ -807,14 +823,16 @@ export interface CreateDatasetRequest {
EncryptionConfig?: EncryptionConfig;
/**
- * The optional metadata that you apply to the dataset to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.
+ * The optional metadata that you apply to the dataset to help you categorize and organize
+ * them. Each tag consists of a key and an optional value, both of which you define.
* The following basic restrictions apply to tags:
*
* -
*
Maximum number of tags per resource - 50.
*
* -
- *
For each resource, each tag key must be unique, and each tag key can have only one value.
+ * For each resource, each tag key must be unique, and each tag key can have only one
+ * value.
*
* -
*
Maximum key length - 128 Unicode characters in UTF-8.
@@ -823,13 +841,21 @@ export interface CreateDatasetRequest {
* Maximum value length - 256 Unicode characters in UTF-8.
*
* -
- *
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
+ * If your tagging schema is used across multiple services and resources, remember that
+ * other services may have restrictions on allowed characters. Generally allowed characters
+ * are: letters, numbers, and spaces representable in UTF-8, and the following characters: +
+ * - = . _ : / @.
*
* -
*
Tag keys and values are case sensitive.
*
* -
- *
Do not use aws:
, AWS:
, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws
as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws
do not count against your tags per resource limit.
+ * Do not use aws:
, AWS:
, or any upper or lowercase combination
+ * of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag
+ * keys with this prefix. Values can have this prefix. If a tag value has aws
as
+ * its prefix but the key does not, then Forecast considers it to be a user tag and will
+ * count against the limit of 50 tags. Tags with only the key prefix of aws
do
+ * not count against your tags per resource limit.
*
*
*/
@@ -887,14 +913,17 @@ export interface CreateDatasetGroupRequest {
DatasetArns?: string[];
/**
- * The optional metadata that you apply to the dataset group to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.
+ * The optional metadata that you apply to the dataset group to help you categorize and
+ * organize them. Each tag consists of a key and an optional value, both of which you
+ * define.
* The following basic restrictions apply to tags:
*
* -
*
Maximum number of tags per resource - 50.
*
* -
- *
For each resource, each tag key must be unique, and each tag key can have only one value.
+ * For each resource, each tag key must be unique, and each tag key can have only one
+ * value.
*
* -
*
Maximum key length - 128 Unicode characters in UTF-8.
@@ -903,13 +932,21 @@ export interface CreateDatasetGroupRequest {
* Maximum value length - 256 Unicode characters in UTF-8.
*
* -
- *
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
+ * If your tagging schema is used across multiple services and resources, remember that
+ * other services may have restrictions on allowed characters. Generally allowed characters
+ * are: letters, numbers, and spaces representable in UTF-8, and the following characters: +
+ * - = . _ : / @.
*
* -
*
Tag keys and values are case sensitive.
*
* -
- *
Do not use aws:
, AWS:
, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws
as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws
do not count against your tags per resource limit.
+ * Do not use aws:
, AWS:
, or any upper or lowercase combination
+ * of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag
+ * keys with this prefix. Values can have this prefix. If a tag value has aws
as
+ * its prefix but the key does not, then Forecast considers it to be a user tag and will
+ * count against the limit of 50 tags. Tags with only the key prefix of aws
do
+ * not count against your tags per resource limit.
*
*
*/
@@ -978,13 +1015,12 @@ export namespace S3Config {
}
/**
- * The source of your training data, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to
- * access the data and, optionally, an AWS Key Management Service (KMS) key. This object is submitted in the
- * CreateDatasetImportJob request.
+ * The source of your data, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to
+ * access the data and, optionally, an AWS Key Management Service (KMS) key.
*/
export interface DataSource {
/**
- * The path to the training data stored in an Amazon Simple Storage Service (Amazon S3) bucket along with the
+ *
The path to the data stored in an Amazon Simple Storage Service (Amazon S3) bucket along with the
* credentials to access the data.
*/
S3Config: S3Config | undefined;
@@ -1075,14 +1111,17 @@ export interface CreateDatasetImportJobRequest {
GeolocationFormat?: string;
/**
- * The optional metadata that you apply to the dataset import job to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.
+ * The optional metadata that you apply to the dataset import job to help you categorize and
+ * organize them. Each tag consists of a key and an optional value, both of which you
+ * define.
* The following basic restrictions apply to tags:
*
* -
*
Maximum number of tags per resource - 50.
*
* -
- *
For each resource, each tag key must be unique, and each tag key can have only one value.
+ * For each resource, each tag key must be unique, and each tag key can have only one
+ * value.
*
* -
*
Maximum key length - 128 Unicode characters in UTF-8.
@@ -1091,13 +1130,21 @@ export interface CreateDatasetImportJobRequest {
* Maximum value length - 256 Unicode characters in UTF-8.
*
* -
- *
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
+ * If your tagging schema is used across multiple services and resources, remember that
+ * other services may have restrictions on allowed characters. Generally allowed characters
+ * are: letters, numbers, and spaces representable in UTF-8, and the following characters: +
+ * - = . _ : / @.
*
* -
*
Tag keys and values are case sensitive.
*
* -
- *
Do not use aws:
, AWS:
, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws
as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws
do not count against your tags per resource limit.
+ * Do not use aws:
, AWS:
, or any upper or lowercase combination
+ * of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag
+ * keys with this prefix. Values can have this prefix. If a tag value has aws
as
+ * its prefix but the key does not, then Forecast considers it to be a user tag and will
+ * count against the limit of 50 tags. Tags with only the key prefix of aws
do
+ * not count against your tags per resource limit.
*
*
*/
@@ -1198,14 +1245,13 @@ export interface CreateExplainabilityRequest {
ExplainabilityConfig: ExplainabilityConfig | undefined;
/**
- * The source of your training data, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to
- * access the data and, optionally, an AWS Key Management Service (KMS) key. This object is submitted in the
- * CreateDatasetImportJob request.
+ * The source of your data, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to
+ * access the data and, optionally, an AWS Key Management Service (KMS) key.
*/
DataSource?: DataSource;
/**
- * Defines the fields of a dataset. You specify this object in the CreateDataset request.
+ * Defines the fields of a dataset.
*/
Schema?: Schema;
@@ -1217,12 +1263,14 @@ export interface CreateExplainabilityRequest {
/**
* If TimePointGranularity
is set to SPECIFIC
, define the first
* point for the Explainability.
+ * Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example: 2015-01-01T20:00:00)
*/
StartDateTime?: string;
/**
* If TimePointGranularity
is set to SPECIFIC
, define the last
* time point for the Explainability.
+ * Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example: 2015-01-01T20:00:00)
*/
EndDateTime?: string;
@@ -1411,14 +1459,16 @@ export interface CreateForecastRequest {
ForecastTypes?: string[];
/**
- * The optional metadata that you apply to the forecast to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.
+ * The optional metadata that you apply to the forecast to help you categorize and organize
+ * them. Each tag consists of a key and an optional value, both of which you define.
* The following basic restrictions apply to tags:
*
* -
*
Maximum number of tags per resource - 50.
*
* -
- *
For each resource, each tag key must be unique, and each tag key can have only one value.
+ * For each resource, each tag key must be unique, and each tag key can have only one
+ * value.
*
* -
*
Maximum key length - 128 Unicode characters in UTF-8.
@@ -1427,13 +1477,21 @@ export interface CreateForecastRequest {
* Maximum value length - 256 Unicode characters in UTF-8.
*
* -
- *
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
+ * If your tagging schema is used across multiple services and resources, remember that
+ * other services may have restrictions on allowed characters. Generally allowed characters
+ * are: letters, numbers, and spaces representable in UTF-8, and the following characters: +
+ * - = . _ : / @.
*
* -
*
Tag keys and values are case sensitive.
*
* -
- *
Do not use aws:
, AWS:
, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws
as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws
do not count against your tags per resource limit.
+ * Do not use aws:
, AWS:
, or any upper or lowercase combination
+ * of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag
+ * keys with this prefix. Values can have this prefix. If a tag value has aws
as
+ * its prefix but the key does not, then Forecast considers it to be a user tag and will
+ * count against the limit of 50 tags. Tags with only the key prefix of aws
do
+ * not count against your tags per resource limit.
*
*
*/
@@ -1487,14 +1545,17 @@ export interface CreateForecastExportJobRequest {
Destination: DataDestination | undefined;
/**
- * The optional metadata that you apply to the forecast export job to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.
+ * The optional metadata that you apply to the forecast export job to help you categorize and
+ * organize them. Each tag consists of a key and an optional value, both of which you
+ * define.
* The following basic restrictions apply to tags:
*
* -
*
Maximum number of tags per resource - 50.
*
* -
- *
For each resource, each tag key must be unique, and each tag key can have only one value.
+ * For each resource, each tag key must be unique, and each tag key can have only one
+ * value.
*
* -
*
Maximum key length - 128 Unicode characters in UTF-8.
@@ -1503,13 +1564,21 @@ export interface CreateForecastExportJobRequest {
* Maximum value length - 256 Unicode characters in UTF-8.
*
* -
- *
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
+ * If your tagging schema is used across multiple services and resources, remember that
+ * other services may have restrictions on allowed characters. Generally allowed characters
+ * are: letters, numbers, and spaces representable in UTF-8, and the following characters: +
+ * - = . _ : / @.
*
* -
*
Tag keys and values are case sensitive.
*
* -
- *
Do not use aws:
, AWS:
, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws
as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws
do not count against your tags per resource limit.
+ * Do not use aws:
, AWS:
, or any upper or lowercase combination
+ * of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag
+ * keys with this prefix. Values can have this prefix. If a tag value has aws
as
+ * its prefix but the key does not, then Forecast considers it to be a user tag and will
+ * count against the limit of 50 tags. Tags with only the key prefix of aws
do
+ * not count against your tags per resource limit.
*
*
*/
@@ -1586,10 +1655,10 @@ export enum FeaturizationMethodName {
}
/**
- * Provides information about the method that featurizes (transforms) a dataset field.
- * The method is part of the FeaturizationPipeline
of the
- * Featurization object.
- * The following is an example of how you specify a FeaturizationMethod
object.
+ * Provides information about the method that featurizes (transforms) a dataset field. The
+ * method is part of the FeaturizationPipeline
of the Featurization object.
+ * The following is an example of how you specify a FeaturizationMethod
+ * object.
*
* {
*
@@ -1597,7 +1666,8 @@ export enum FeaturizationMethodName {
* "FeaturizationMethodName": "filling",
*
*
- * "FeaturizationMethodParameters": {"aggregation": "sum", "middlefill": "zero", "backfill": "zero"}
+ * "FeaturizationMethodParameters": {"aggregation": "sum", "middlefill": "zero",
+ * "backfill": "zero"}
*
*
* }
@@ -1610,14 +1680,17 @@ export interface FeaturizationMethod {
FeaturizationMethodName: FeaturizationMethodName | string | undefined;
/**
- *
The method parameters (key-value pairs), which are a map of override parameters. Specify these parameters to override the default values.
- * Related Time Series attributes do not accept aggregation parameters.
- * The following list shows the parameters and their valid values for the "filling" featurization method for a Target Time Series dataset. Bold signifies the default
- * value.
+ * The method parameters (key-value pairs), which are a map of override parameters. Specify
+ * these parameters to override the default values. Related Time Series attributes do not accept
+ * aggregation parameters.
+ * The following list shows the parameters and their valid values for the "filling"
+ * featurization method for a Target Time Series dataset. Bold
+ * signifies the default value.
*
* -
*
- * aggregation
: sum, avg
, first
, min
, max
+ * aggregation
: sum, avg
,
+ * first
, min
, max
*
*
* -
@@ -1627,12 +1700,16 @@ export interface FeaturizationMethod {
*
* -
*
- * middlefill
: zero, nan
(not a number), value
, median
, mean
, min
, max
+ * middlefill
: zero, nan
(not
+ * a number), value
, median
, mean
, min
,
+ * max
*
*
* -
*
- * backfill
: zero, nan
, value
, median
, mean
, min
, max
+ * backfill
: zero, nan
,
+ * value
, median
, mean
, min
,
+ * max
*
*
*
@@ -1641,17 +1718,20 @@ export interface FeaturizationMethod {
*
* -
*
- * middlefill
: zero
, value
, median
, mean
, min
, max
+ * middlefill
: zero
, value
, median
,
+ * mean
, min
, max
*
*
* -
*
- * backfill
: zero
, value
, median
, mean
, min
, max
+ * backfill
: zero
, value
, median
,
+ * mean
, min
, max
*
*
* -
*
- * futurefill
: zero
, value
, median
, mean
, min
, max
+ * futurefill
: zero
, value
, median
,
+ * mean
, min
, max
*
*
*
@@ -1673,8 +1753,12 @@ export namespace FeaturizationMethod {
}
/**
- * Provides featurization (transformation) information for a dataset field. This object
- * is part of the FeaturizationConfig object.
+ *
+ * This object belongs to the CreatePredictor operation. If you created
+ * your predictor with CreateAutoPredictor, see AttributeConfig.
+ *
+ * Provides featurization (transformation) information for a dataset field. This object is
+ * part of the FeaturizationConfig object.
* For example:
*
* {
@@ -1690,7 +1774,8 @@ export namespace FeaturizationMethod {
* "FeaturizationMethodName": "filling",
*
*
- * "FeaturizationMethodParameters": {"aggregation": "avg", "backfill": "nan"}
+ * "FeaturizationMethodParameters": {"aggregation": "avg", "backfill":
+ * "nan"}
*
*
* } ]
@@ -1701,11 +1786,11 @@ export namespace FeaturizationMethod {
*/
export interface Featurization {
/**
- *
The name of the schema attribute that specifies the data field to be featurized. Amazon Forecast supports the target field of
- * the TARGET_TIME_SERIES
and the RELATED_TIME_SERIES
datasets. For example, for the RETAIL
domain, the target is
- * demand
, and for the CUSTOM
domain, the target is
- * target_value
.
- * For more information, see howitworks-missing-values.
+ * The name of the schema attribute that specifies the data field to be featurized. Amazon
+ * Forecast supports the target field of the TARGET_TIME_SERIES
and the
+ * RELATED_TIME_SERIES
datasets. For example, for the RETAIL
domain,
+ * the target is demand
, and for the CUSTOM
domain, the target is
+ * target_value
. For more information, see howitworks-missing-values.
*/
AttributeName: string | undefined;
@@ -1726,25 +1811,29 @@ export namespace Featurization {
}
/**
- * In a CreatePredictor operation, the specified algorithm
- * trains a model using the specified dataset group. You can optionally tell the operation
- * to modify data fields prior to training a model. These modifications are referred to as
- * featurization.
- * You define featurization using the FeaturizationConfig
object.
- * You specify an array of transformations, one for each field that you want to
- * featurize. You then include the FeaturizationConfig
object in your
- * CreatePredictor
request. Amazon Forecast applies the featurization to the
- * TARGET_TIME_SERIES
and RELATED_TIME_SERIES
datasets before model training.
- * You can create multiple featurization configurations. For example, you
- * might call the CreatePredictor
operation twice by specifying different
- * featurization configurations.
+ *
+ * This object belongs to the CreatePredictor operation. If you created
+ * your predictor with CreateAutoPredictor, see AttributeConfig.
+ *
+ * In a CreatePredictor operation, the specified algorithm trains a model
+ * using the specified dataset group. You can optionally tell the operation to modify data fields
+ * prior to training a model. These modifications are referred to as
+ * featurization.
+ * You define featurization using the FeaturizationConfig
object. You specify an
+ * array of transformations, one for each field that you want to featurize. You then include the
+ * FeaturizationConfig
object in your CreatePredictor
request.
+ * Amazon Forecast applies the featurization to the TARGET_TIME_SERIES
and
+ * RELATED_TIME_SERIES
datasets before model training.
+ * You can create multiple featurization configurations. For example, you might call the
+ * CreatePredictor
operation twice by specifying different featurization
+ * configurations.
*/
export interface FeaturizationConfig {
/**
* The frequency of predictions in a forecast.
* Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes),
- * 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute).
- * For example, "Y" indicates every year and "5min" indicates every five minutes.
+ * 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute). For example,
+ * "Y" indicates every year and "5min" indicates every five minutes.
* The frequency must be greater than or equal to the TARGET_TIME_SERIES dataset
* frequency.
* When a RELATED_TIME_SERIES dataset is provided, the frequency must be equal to the
@@ -1753,14 +1842,16 @@ export interface FeaturizationConfig {
ForecastFrequency: string | undefined;
/**
- *
An array of dimension (field) names that specify how to group the generated forecast.
- * For example, suppose that you are generating a forecast for item sales across all of
- * your stores, and your dataset contains a store_id
field. If you want the sales
- * forecast for each item by store, you would specify store_id
as the dimension.
+ * An array of dimension (field) names that specify how to group the generated
+ * forecast.
+ * For example, suppose that you are generating a forecast for item sales across all of your
+ * stores, and your dataset contains a store_id
field. If you want the sales
+ * forecast for each item by store, you would specify store_id
as the
+ * dimension.
* All forecast dimensions specified in the TARGET_TIME_SERIES
dataset don't
- * need to be specified in the CreatePredictor
request.
- * All forecast dimensions specified in the RELATED_TIME_SERIES
dataset must
- * be specified in the CreatePredictor
request.
+ * need to be specified in the CreatePredictor
request. All forecast dimensions
+ * specified in the RELATED_TIME_SERIES
dataset must be specified in the
+ * CreatePredictor
request.
*/
ForecastDimensions?: string[];
@@ -1996,7 +2087,11 @@ export namespace HyperParameterTuningJobConfig {
}
/**
- * Describes a supplementary feature of a dataset group. This object is part of the InputDataConfig object. Forecast supports the Weather Index and Holidays built-in
+ *
+ * This object belongs to the CreatePredictor operation. If you created
+ * your predictor with CreateAutoPredictor, see AdditionalDataset.
+ *
+ *
Describes a supplementary feature of a dataset group. This object is part of the InputDataConfig object. Forecast supports the Weather Index and Holidays built-in
* featurizations.
*
* Weather Index
@@ -2246,7 +2341,11 @@ export namespace SupplementaryFeature {
}
/**
- *
The data used to train a predictor. The data includes a dataset group and any
+ *
+ * This object belongs to the CreatePredictor operation. If you created
+ * your predictor with CreateAutoPredictor, see DataConfig.
+ *
+ *
The data used to train a predictor. The data includes a dataset group and any
* supplementary features. You specify this object in the CreatePredictor
* request.
*/
@@ -2425,14 +2524,16 @@ export interface CreatePredictorRequest {
EncryptionConfig?: EncryptionConfig;
/**
- * The optional metadata that you apply to the predictor to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.
+ * The optional metadata that you apply to the predictor to help you categorize and organize
+ * them. Each tag consists of a key and an optional value, both of which you define.
* The following basic restrictions apply to tags:
*
* -
*
Maximum number of tags per resource - 50.
*
* -
- *
For each resource, each tag key must be unique, and each tag key can have only one value.
+ * For each resource, each tag key must be unique, and each tag key can have only one
+ * value.
*
* -
*
Maximum key length - 128 Unicode characters in UTF-8.
@@ -2441,13 +2542,21 @@ export interface CreatePredictorRequest {
* Maximum value length - 256 Unicode characters in UTF-8.
*
* -
- *
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
+ * If your tagging schema is used across multiple services and resources, remember that
+ * other services may have restrictions on allowed characters. Generally allowed characters
+ * are: letters, numbers, and spaces representable in UTF-8, and the following characters: +
+ * - = . _ : / @.
*
* -
*
Tag keys and values are case sensitive.
*
* -
- *
Do not use aws:
, AWS:
, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws
as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws
do not count against your tags per resource limit.
+ * Do not use aws:
, AWS:
, or any upper or lowercase combination
+ * of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag
+ * keys with this prefix. Values can have this prefix. If a tag value has aws
as
+ * its prefix but the key does not, then Forecast considers it to be a user tag and will
+ * count against the limit of 50 tags. Tags with only the key prefix of aws
do
+ * not count against your tags per resource limit.
*
*
*/
@@ -2503,9 +2612,9 @@ export interface CreatePredictorBacktestExportJobRequest {
Destination: DataDestination | undefined;
/**
- * Optional metadata to help you categorize and organize your backtests. Each tag consists
- * of a key and an optional value, both of which you define. Tag keys and values are case
- * sensitive.
+ * Optional metadata to help you categorize and organize your backtests. Each tag
+ * consists of a key and an optional value, both of which you define. Tag keys and values
+ * are case sensitive.
* The following restrictions apply to tags:
*
* -
@@ -2522,17 +2631,17 @@ export interface CreatePredictorBacktestExportJobRequest {
*
Maximum value length: 256 Unicode characters in UTF-8.
*
* -
- *
Accepted characters: all letters and numbers, spaces representable in UTF-8, and +
- * - = . _ : / @. If your tagging schema is used across other services and resources,
- * the character restrictions of those services also apply.
+ * Accepted characters: all letters and numbers, spaces representable in UTF-8,
+ * and + - = . _ : / @. If your tagging schema is used across other services and
+ * resources, the character restrictions of those services also apply.
*
* -
*
Key prefixes cannot include any upper or lowercase combination of
- * aws:
or AWS:
. Values can have this prefix. If a tag
- * value has aws
as its prefix but the key does not, Forecast considers it
- * to be a user tag and will count against the limit of 50 tags. Tags with only the key
- * prefix of aws
do not count against your tags per resource limit. You
- * cannot edit or delete tag keys with this prefix.
+ * aws:
or AWS:
. Values can have this prefix. If a
+ * tag value has aws
as its prefix but the key does not, Forecast
+ * considers it to be a user tag and will count against the limit of 50 tags. Tags
+ * with only the key prefix of aws
do not count against your tags per
+ * resource limit. You cannot edit or delete tag keys with this prefix.
*
*
*/
@@ -2743,8 +2852,42 @@ export namespace DescribeAutoPredictorRequest {
});
}
+/**
+ * Provides information about the Explainability resource.
+ */
export interface ExplainabilityInfo {
+ /**
+ * The Amazon Resource Name (ARN) of the Explainability.
+ */
ExplainabilityArn?: string;
+
+ /**
+ * The status of the Explainability. States include:
+ *
+ * -
+ *
+ * ACTIVE
+ *
+ *
+ * -
+ *
+ * CREATE_PENDING
, CREATE_IN_PROGRESS
,
+ * CREATE_FAILED
+ *
+ *
+ * -
+ *
+ * CREATE_STOPPING
, CREATE_STOPPED
+ *
+ *
+ * -
+ *
+ * DELETE_PENDING
, DELETE_IN_PROGRESS
,
+ * DELETE_FAILED
+ *
+ *
+ *
+ */
Status?: string;
}
@@ -2818,6 +2961,11 @@ export interface DescribeAutoPredictorResponse {
*/
ForecastFrequency?: string;
+ /**
+ * An array of dimension (field) names that specify the attributes used to group your time series.
+ */
+ ForecastDimensions?: string[];
+
/**
* An array of the ARNs of the dataset import jobs used to import training data for the
* predictor.
@@ -2921,6 +3069,9 @@ export interface DescribeAutoPredictorResponse {
*/
OptimizationMetric?: OptimizationMetric | string;
+ /**
+ * Provides the status and ARN of the Predictor Explainability.
+ */
ExplainabilityInfo?: ExplainabilityInfo;
}
@@ -3443,14 +3594,13 @@ export interface DescribeExplainabilityResponse {
EnableVisualization?: boolean;
/**
- * The source of your training data, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to
- * access the data and, optionally, an AWS Key Management Service (KMS) key. This object is submitted in the
- * CreateDatasetImportJob request.
+ * The source of your data, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to
+ * access the data and, optionally, an AWS Key Management Service (KMS) key.
*/
DataSource?: DataSource;
/**
- * Defines the fields of a dataset. You specify this object in the CreateDataset request.
+ * Defines the fields of a dataset.
*/
Schema?: Schema;
@@ -4283,7 +4433,7 @@ export interface DescribePredictorBacktestExportJobResponse {
* -
*
* CREATE_PENDING
, CREATE_IN_PROGRESS
,
- * CREATE_FAILED
+ * CREATE_FAILED
*
*
* -
@@ -4294,7 +4444,7 @@ export interface DescribePredictorBacktestExportJobResponse {
*
-
*
* DELETE_PENDING
, DELETE_IN_PROGRESS
,
- * DELETE_FAILED
+ * DELETE_FAILED
*
*
*
@@ -4307,7 +4457,8 @@ export interface DescribePredictorBacktestExportJobResponse {
CreationTime?: Date;
/**
- * The last time the resource was modified. The timestamp depends on the status of the job:
+ * The last time the resource was modified. The timestamp depends on the status of the
+ * job:
*
* -
*
@@ -5033,7 +5184,7 @@ export interface ListExplainabilitiesRequest {
*
-
*
* Key
- The name of the parameter to filter on. Valid values are
- * PredictorArn
and Status
.
+ * ResourceArn
and Status
.
*
* -
*
@@ -5213,7 +5364,7 @@ export interface ListExplainabilityExportsRequest {
*
-
*
* Key
- The name of the parameter to filter on. Valid values are
- * PredictorArn
and Status
.
+ * ResourceArn
and Status
.
*
* -
*
@@ -5616,7 +5767,11 @@ export interface ForecastSummary {
*/
PredictorArn?: string;
+ /**
+ *
Whether the Forecast was created from an AutoPredictor.
+ */
CreatedUsingAutoPredictor?: boolean;
+
/**
* The Amazon Resource Name (ARN) of the dataset group that provided the data used to train
* the predictor.
@@ -5728,9 +5883,9 @@ export namespace ListForecastsResponse {
export interface ListPredictorBacktestExportJobsRequest {
/**
- * If the result of the previous request was truncated, the response includes a NextToken.
- * To retrieve the next set of results, use the token in the next request. Tokens expire after
- * 24 hours.
+ * If the result of the previous request was truncated, the response includes a
+ * NextToken. To retrieve the next set of results, use the token in the next request.
+ * Tokens expire after 24 hours.
*/
NextToken?: string;
@@ -5741,29 +5896,29 @@ export interface ListPredictorBacktestExportJobsRequest {
/**
* An array of filters. For each filter, provide a condition and a match statement. The
- * condition is either IS
or IS_NOT
, which specifies whether to
- * include or exclude the predictor backtest export jobs that match the statement from the
- * list. The match statement consists of a key and a value.
- *
- * Filter properties
- *
- *
* -
- *
+ *
* Key
- The name of the parameter to filter on. Valid values are
* PredictorArn
and Status
.
- *
+ *
* -
- *
+ *
* Value
- The value to match.
- *
+ *
*
*/
Filters?: Filter[];
@@ -5779,9 +5934,9 @@ export namespace ListPredictorBacktestExportJobsRequest {
}
/**
- * Provides a summary of the predictor backtest export job properties used in the ListPredictorBacktestExportJobs operation. To get a complete set of properties, call
- * the DescribePredictorBacktestExportJob operation, and provide the listed
- * PredictorBacktestExportJobArn
.
+ * Provides a summary of the predictor backtest export job properties used in the ListPredictorBacktestExportJobs operation. To get a complete set of
+ * properties, call the DescribePredictorBacktestExportJob operation, and
+ * provide the listed PredictorBacktestExportJobArn
.
*/
export interface PredictorBacktestExportJobSummary {
/**
@@ -5811,7 +5966,7 @@ export interface PredictorBacktestExportJobSummary {
* -
*
* CREATE_PENDING
, CREATE_IN_PROGRESS
,
- * CREATE_FAILED
+ * CREATE_FAILED
*
*
* -
@@ -5822,7 +5977,7 @@ export interface PredictorBacktestExportJobSummary {
*
-
*
* DELETE_PENDING
, DELETE_IN_PROGRESS
,
- * DELETE_FAILED
+ * DELETE_FAILED
*
*
*
@@ -5840,7 +5995,8 @@ export interface PredictorBacktestExportJobSummary {
CreationTime?: Date;
/**
- * The last time the resource was modified. The timestamp depends on the status of the job:
+ * The last time the resource was modified. The timestamp depends on the status of the
+ * job:
*
* -
*
@@ -5885,8 +6041,8 @@ export interface ListPredictorBacktestExportJobsResponse {
PredictorBacktestExportJobs?: PredictorBacktestExportJobSummary[];
/**
- *
Returns this token if the response is truncated. To retrieve the next
- * set of results, use the token in the next request.
+ * Returns this token if the response is truncated. To retrieve the next set of results,
+ * use the token in the next request.
*/
NextToken?: string;
}
@@ -6094,7 +6250,8 @@ export namespace ListPredictorsResponse {
export interface ListTagsForResourceRequest {
/**
- * The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Forecast dataset groups, datasets, dataset import jobs, predictors, forecasts, and forecast export jobs.
+ * The Amazon Resource Name (ARN) that identifies the resource for which to list the tags.
+ *
*/
ResourceArn: string | undefined;
}
@@ -6129,8 +6286,9 @@ export interface StopResourceRequest {
/**
* The Amazon Resource Name (ARN) that identifies the resource to stop. The supported ARNs
* are DatasetImportJobArn
, PredictorArn
,
- * PredictorBacktestExportJobArn
, ForecastArn
, and
- * ForecastExportJobArn
.
+ * PredictorBacktestExportJobArn
, ForecastArn
,
+ * ForecastExportJobArn
, ExplainabilityArn
, and
+ * ExplainabilityExportArn
.
*/
ResourceArn: string | undefined;
}
@@ -6146,7 +6304,8 @@ export namespace StopResourceRequest {
export interface TagResourceRequest {
/**
- * The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Forecast dataset groups, datasets, dataset import jobs, predictors, forecasts, and forecast export jobs.
+ * The Amazon Resource Name (ARN) that identifies the resource for which to list the tags.
+ *
*/
ResourceArn: string | undefined;
@@ -6158,7 +6317,8 @@ export interface TagResourceRequest {
* Maximum number of tags per resource - 50.
*
* -
- *
For each resource, each tag key must be unique, and each tag key can have only one value.
+ * For each resource, each tag key must be unique, and each tag key can have only one
+ * value.
*
* -
*
Maximum key length - 128 Unicode characters in UTF-8.
@@ -6167,13 +6327,21 @@ export interface TagResourceRequest {
* Maximum value length - 256 Unicode characters in UTF-8.
*
* -
- *
If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.
+ * If your tagging schema is used across multiple services and resources, remember that
+ * other services may have restrictions on allowed characters. Generally allowed characters
+ * are: letters, numbers, and spaces representable in UTF-8, and the following characters: +
+ * - = . _ : / @.
*
* -
*
Tag keys and values are case sensitive.
*
* -
- *
Do not use aws:
, AWS:
, or any upper or lowercase combination of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag keys with this prefix. Values can have this prefix. If a tag value has aws
as its prefix but the key does not, then Forecast considers it to be a user tag and will count against the limit of 50 tags. Tags with only the key prefix of aws
do not count against your tags per resource limit.
+ * Do not use aws:
, AWS:
, or any upper or lowercase combination
+ * of such as a prefix for keys as it is reserved for AWS use. You cannot edit or delete tag
+ * keys with this prefix. Values can have this prefix. If a tag value has aws
as
+ * its prefix but the key does not, then Forecast considers it to be a user tag and will
+ * count against the limit of 50 tags. Tags with only the key prefix of aws
do
+ * not count against your tags per resource limit.
*
*
*/
@@ -6203,7 +6371,8 @@ export namespace TagResourceResponse {
export interface UntagResourceRequest {
/**
- * The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Forecast dataset groups, datasets, dataset import jobs, predictors, forecasts, and forecast exports.
+ * The Amazon Resource Name (ARN) that identifies the resource for which to list the tags.
+ *
*/
ResourceArn: string | undefined;
diff --git a/clients/client-forecast/src/protocols/Aws_json1_1.ts b/clients/client-forecast/src/protocols/Aws_json1_1.ts
index 64a507c56397..9abd24f481e1 100644
--- a/clients/client-forecast/src/protocols/Aws_json1_1.ts
+++ b/clients/client-forecast/src/protocols/Aws_json1_1.ts
@@ -5373,6 +5373,10 @@ const deserializeAws_json1_1DescribeAutoPredictorResponse = (
output.ExplainabilityInfo !== undefined && output.ExplainabilityInfo !== null
? deserializeAws_json1_1ExplainabilityInfo(output.ExplainabilityInfo, context)
: undefined,
+ ForecastDimensions:
+ output.ForecastDimensions !== undefined && output.ForecastDimensions !== null
+ ? deserializeAws_json1_1ForecastDimensions(output.ForecastDimensions, context)
+ : undefined,
ForecastFrequency: __expectString(output.ForecastFrequency),
ForecastHorizon: __expectInt32(output.ForecastHorizon),
ForecastTypes:
diff --git a/clients/client-forecastquery/src/endpoints.ts b/clients/client-forecastquery/src/endpoints.ts
index 3de6502fc355..c1ae7fa53fd7 100644
--- a/clients/client-forecastquery/src/endpoints.ts
+++ b/clients/client-forecastquery/src/endpoints.ts
@@ -51,6 +51,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-frauddetector/src/endpoints.ts b/clients/client-frauddetector/src/endpoints.ts
index fcd60ba767bd..54861f425e0d 100644
--- a/clients/client-frauddetector/src/endpoints.ts
+++ b/clients/client-frauddetector/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-fsx/src/endpoints.ts b/clients/client-fsx/src/endpoints.ts
index 8e1ba9216a83..2d11a299b21e 100644
--- a/clients/client-fsx/src/endpoints.ts
+++ b/clients/client-fsx/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-gamelift/src/endpoints.ts b/clients/client-gamelift/src/endpoints.ts
index 7598e18749bc..e6e34daad649 100644
--- a/clients/client-gamelift/src/endpoints.ts
+++ b/clients/client-gamelift/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-glacier/src/endpoints.ts b/clients/client-glacier/src/endpoints.ts
index 4bbb17c9accc..512e96799703 100644
--- a/clients/client-glacier/src/endpoints.ts
+++ b/clients/client-glacier/src/endpoints.ts
@@ -93,6 +93,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-global-accelerator/src/endpoints.ts b/clients/client-global-accelerator/src/endpoints.ts
index fb7882dc0790..edbe0c577818 100644
--- a/clients/client-global-accelerator/src/endpoints.ts
+++ b/clients/client-global-accelerator/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-glue/src/endpoints.ts b/clients/client-glue/src/endpoints.ts
index a000713898a6..3d072149cab3 100644
--- a/clients/client-glue/src/endpoints.ts
+++ b/clients/client-glue/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-grafana/src/endpoints.ts b/clients/client-grafana/src/endpoints.ts
index b76c9bdf3a0d..ecd8625f2e5c 100644
--- a/clients/client-grafana/src/endpoints.ts
+++ b/clients/client-grafana/src/endpoints.ts
@@ -105,6 +105,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-greengrass/src/endpoints.ts b/clients/client-greengrass/src/endpoints.ts
index 02011ff9d850..81088a4f9044 100644
--- a/clients/client-greengrass/src/endpoints.ts
+++ b/clients/client-greengrass/src/endpoints.ts
@@ -55,6 +55,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-greengrassv2/src/endpoints.ts b/clients/client-greengrassv2/src/endpoints.ts
index 02011ff9d850..81088a4f9044 100644
--- a/clients/client-greengrassv2/src/endpoints.ts
+++ b/clients/client-greengrassv2/src/endpoints.ts
@@ -55,6 +55,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-groundstation/src/endpoints.ts b/clients/client-groundstation/src/endpoints.ts
index 25eff145a267..5bb94b85a0a7 100644
--- a/clients/client-groundstation/src/endpoints.ts
+++ b/clients/client-groundstation/src/endpoints.ts
@@ -51,6 +51,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-guardduty/src/endpoints.ts b/clients/client-guardduty/src/endpoints.ts
index 600f7a26ce54..68b2e77cca55 100644
--- a/clients/client-guardduty/src/endpoints.ts
+++ b/clients/client-guardduty/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-health/README.md b/clients/client-health/README.md
index 3d2460870895..08747abda0b2 100644
--- a/clients/client-health/README.md
+++ b/clients/client-health/README.md
@@ -11,14 +11,13 @@ AWS SDK for JavaScript Health Client for Node.js, Browser and React Native.
The Health API provides programmatic access to the Health information that
appears in the Personal Health Dashboard. You
-can use the API operations to get information about events that might affect your Amazon Web Services
-services and resources.
+can use the API operations to get information about events that might affect your Amazon Web Services services and resources.
-
-
You must have a Business or Enterprise Support plan from Amazon Web Services Support to use the
-Health API. If you call the Health API from an Amazon Web Services account that
-doesn't have a Business or Enterprise Support plan, you receive a
+
You must have a Business, Enterprise On-Ramp, or Enterprise Support plan from Amazon Web Services Support to use the Health
+API. If you call the Health API from an Amazon Web Services account that
+doesn't have a Business, Enterprise On-Ramp, or Enterprise Support plan, you receive a
SubscriptionRequiredException
error.
-
diff --git a/clients/client-health/src/Health.ts b/clients/client-health/src/Health.ts
index e29d3aa95ede..e49c240b4505 100644
--- a/clients/client-health/src/Health.ts
+++ b/clients/client-health/src/Health.ts
@@ -72,14 +72,13 @@ import { HealthClient } from "./HealthClient";
*
*
The Health API provides programmatic access to the Health information that
* appears in the Personal Health Dashboard. You
- * can use the API operations to get information about events that might affect your Amazon Web Services
- * services and resources.
+ * can use the API operations to get information about events that might affect your Amazon Web Services services and resources.
*
*
* -
- *
You must have a Business or Enterprise Support plan from Amazon Web Services Support to use the
- * Health API. If you call the Health API from an Amazon Web Services account that
- * doesn't have a Business or Enterprise Support plan, you receive a
+ *
You must have a Business, Enterprise On-Ramp, or Enterprise Support plan from Amazon Web Services Support to use the Health
+ * API. If you call the Health API from an Amazon Web Services account that
+ * doesn't have a Business, Enterprise On-Ramp, or Enterprise Support plan, you receive a
* SubscriptionRequiredException
error.
*
* -
@@ -218,8 +217,8 @@ export class Health extends HealthClient {
* depending on the Amazon Web Services service.
*
At least one event Amazon Resource Name (ARN) and account ID are required.
* Before you can call this operation, you must first enable Health to work with
- * Organizations. To do this, call the EnableHealthServiceAccessForOrganization
- * operation from your organization's management account.
+ * Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's
+ * management account.
*
*
* -
@@ -376,8 +375,8 @@ export class Health extends HealthClient {
/**
*
Returns detailed information about one or more specified events for one or more
- * Amazon Web Services accounts in your organization. This information includes standard event data (such as the
- * Amazon Web Services Region and service), an event description, and (depending on the event) possible
+ * Amazon Web Services accounts in your organization. This information includes standard event data (such as
+ * the Amazon Web Services Region and service), an event description, and (depending on the event) possible
* metadata. This operation doesn't return affected entities, such as the resources related to
* the event. To return affected entities, use the DescribeAffectedEntitiesForOrganization operation.
*
@@ -397,7 +396,7 @@ export class Health extends HealthClient {
*
* -
*
To return event details for an event that is specific to an account in your
- * organization, you must specify the awsAccountId
parameter in the
+ * organization, you must specify the awsAccountId
parameter in the
* request. If you don't specify an account ID, Health returns an error message
* because the event is specific to an account in your organization.
*
@@ -560,7 +559,7 @@ export class Health extends HealthClient {
* operation to find information about the Health event, such as the category, Amazon Web Services
* service, and event code. The metadata for each event appears in the EventType object.
* If you don't specify a filter criteria, the API operation returns all event types, in no
- * particular order.
+ * particular order.
*
* This API operation uses pagination. Specify the nextToken
parameter in the next request to return more results.
*
@@ -635,16 +634,17 @@ export class Health extends HealthClient {
* Disables Health from working with Organizations. To call this operation, you must sign
* in as an Identity and Access Management (IAM) user, assume an IAM role, or sign in as the root user (not
* recommended) in the organization's management account. For more information, see Aggregating
- * Health events in the
- * Health User Guide.
- * This operation doesn't remove the service-linked role from the management account in your organization. You must use the IAM console, API, or Command Line Interface (CLI) to
- * remove the service-linked role. For more information, see Deleting a Service-Linked Role in the
+ * Health events in the Health User Guide.
+ * This operation doesn't remove the service-linked role from the management account in your
+ * organization. You must use the IAM console, API, or Command Line Interface (CLI) to remove the
+ * service-linked role. For more information, see Deleting a Service-Linked Role in the
* IAM User Guide.
*
* You can also disable the organizational feature by using the Organizations DisableAWSServiceAccess API operation. After you call this operation,
* Health stops aggregating events for all other Amazon Web Services accounts in your organization.
* If you call the Health API operations for organizational view, Health returns
- * an error. Health continues to aggregate health events for your Amazon Web Services account.
+ * an error. Health continues to aggregate health events for your
+ * Amazon Web Services account.
*
*/
public disableHealthServiceAccessForOrganization(
@@ -687,9 +687,9 @@ export class Health extends HealthClient {
* To call this operation, you must meet the following requirements:
*
* -
- *
You must have a Business or Enterprise Support plan from Amazon Web Services Support to use the Health
+ *
You must have a Business, Enterprise On-Ramp, or Enterprise Support plan from Amazon Web Services Support to use the Health
* API. If you call the Health API from an Amazon Web Services account that doesn't have a
- * Business or Enterprise Support plan, you receive a
+ * Business, Enterprise On-Ramp, or Enterprise Support plan, you receive a
* SubscriptionRequiredException
error.
*
* -
diff --git a/clients/client-health/src/HealthClient.ts b/clients/client-health/src/HealthClient.ts
index f90c6fb94f43..6c6ef35f170d 100644
--- a/clients/client-health/src/HealthClient.ts
+++ b/clients/client-health/src/HealthClient.ts
@@ -280,14 +280,13 @@ export interface HealthClientResolvedConfig extends HealthClientResolvedConfigTy
*
*
The Health API provides programmatic access to the Health information that
* appears in the Personal Health Dashboard. You
- * can use the API operations to get information about events that might affect your Amazon Web Services
- * services and resources.
+ * can use the API operations to get information about events that might affect your Amazon Web Services services and resources.
*
*
* -
- *
You must have a Business or Enterprise Support plan from Amazon Web Services Support to use the
- * Health API. If you call the Health API from an Amazon Web Services account that
- * doesn't have a Business or Enterprise Support plan, you receive a
+ *
You must have a Business, Enterprise On-Ramp, or Enterprise Support plan from Amazon Web Services Support to use the Health
+ * API. If you call the Health API from an Amazon Web Services account that
+ * doesn't have a Business, Enterprise On-Ramp, or Enterprise Support plan, you receive a
* SubscriptionRequiredException
error.
*
* -
diff --git a/clients/client-health/src/commands/DescribeAffectedEntitiesForOrganizationCommand.ts b/clients/client-health/src/commands/DescribeAffectedEntitiesForOrganizationCommand.ts
index df38e2964fe3..15906160da63 100644
--- a/clients/client-health/src/commands/DescribeAffectedEntitiesForOrganizationCommand.ts
+++ b/clients/client-health/src/commands/DescribeAffectedEntitiesForOrganizationCommand.ts
@@ -34,8 +34,8 @@ export interface DescribeAffectedEntitiesForOrganizationCommandOutput
* depending on the Amazon Web Services service.
*
At least one event Amazon Resource Name (ARN) and account ID are required.
* Before you can call this operation, you must first enable Health to work with
- * Organizations. To do this, call the EnableHealthServiceAccessForOrganization
- * operation from your organization's management account.
+ * Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's
+ * management account.
*
*
* -
diff --git a/clients/client-health/src/commands/DescribeEventDetailsForOrganizationCommand.ts b/clients/client-health/src/commands/DescribeEventDetailsForOrganizationCommand.ts
index a74994f9a357..baa27e596d3b 100644
--- a/clients/client-health/src/commands/DescribeEventDetailsForOrganizationCommand.ts
+++ b/clients/client-health/src/commands/DescribeEventDetailsForOrganizationCommand.ts
@@ -28,8 +28,8 @@ export interface DescribeEventDetailsForOrganizationCommandOutput
/**
*
Returns detailed information about one or more specified events for one or more
- * Amazon Web Services accounts in your organization. This information includes standard event data (such as the
- * Amazon Web Services Region and service), an event description, and (depending on the event) possible
+ * Amazon Web Services accounts in your organization. This information includes standard event data (such as
+ * the Amazon Web Services Region and service), an event description, and (depending on the event) possible
* metadata. This operation doesn't return affected entities, such as the resources related to
* the event. To return affected entities, use the DescribeAffectedEntitiesForOrganization operation.
*
@@ -49,7 +49,7 @@ export interface DescribeEventDetailsForOrganizationCommandOutput
*
* -
*
To return event details for an event that is specific to an account in your
- * organization, you must specify the awsAccountId
parameter in the
+ * organization, you must specify the awsAccountId
parameter in the
* request. If you don't specify an account ID, Health returns an error message
* because the event is specific to an account in your organization.
*
diff --git a/clients/client-health/src/commands/DescribeEventTypesCommand.ts b/clients/client-health/src/commands/DescribeEventTypesCommand.ts
index 79d593d5d10d..30516377950d 100644
--- a/clients/client-health/src/commands/DescribeEventTypesCommand.ts
+++ b/clients/client-health/src/commands/DescribeEventTypesCommand.ts
@@ -26,7 +26,7 @@ export interface DescribeEventTypesCommandOutput extends DescribeEventTypesRespo
* operation to find information about the Health event, such as the category, Amazon Web Services
* service, and event code. The metadata for each event appears in the EventType object.
* If you don't specify a filter criteria, the API operation returns all event types, in no
- * particular order.
+ * particular order.
*
* This API operation uses pagination. Specify the nextToken
parameter in the next request to return more results.
*
diff --git a/clients/client-health/src/commands/DisableHealthServiceAccessForOrganizationCommand.ts b/clients/client-health/src/commands/DisableHealthServiceAccessForOrganizationCommand.ts
index f8e03c44819b..80b097356cd3 100644
--- a/clients/client-health/src/commands/DisableHealthServiceAccessForOrganizationCommand.ts
+++ b/clients/client-health/src/commands/DisableHealthServiceAccessForOrganizationCommand.ts
@@ -24,16 +24,17 @@ export interface DisableHealthServiceAccessForOrganizationCommandOutput extends
* Disables Health from working with Organizations. To call this operation, you must sign
* in as an Identity and Access Management (IAM) user, assume an IAM role, or sign in as the root user (not
* recommended) in the organization's management account. For more information, see Aggregating
- * Health events in the
- * Health User Guide.
- * This operation doesn't remove the service-linked role from the management account in your organization. You must use the IAM console, API, or Command Line Interface (CLI) to
- * remove the service-linked role. For more information, see Deleting a Service-Linked Role in the
+ * Health events in the Health User Guide.
+ * This operation doesn't remove the service-linked role from the management account in your
+ * organization. You must use the IAM console, API, or Command Line Interface (CLI) to remove the
+ * service-linked role. For more information, see Deleting a Service-Linked Role in the
* IAM User Guide.
*
* You can also disable the organizational feature by using the Organizations DisableAWSServiceAccess API operation. After you call this operation,
* Health stops aggregating events for all other Amazon Web Services accounts in your organization.
* If you call the Health API operations for organizational view, Health returns
- * an error. Health continues to aggregate health events for your Amazon Web Services account.
+ * an error. Health continues to aggregate health events for your
+ * Amazon Web Services account.
*
* @example
* Use a bare-bones client and the command you need to make an API call.
diff --git a/clients/client-health/src/commands/EnableHealthServiceAccessForOrganizationCommand.ts b/clients/client-health/src/commands/EnableHealthServiceAccessForOrganizationCommand.ts
index 645ab2bce93e..656914e21d35 100644
--- a/clients/client-health/src/commands/EnableHealthServiceAccessForOrganizationCommand.ts
+++ b/clients/client-health/src/commands/EnableHealthServiceAccessForOrganizationCommand.ts
@@ -29,9 +29,9 @@ export interface EnableHealthServiceAccessForOrganizationCommandOutput extends _
* To call this operation, you must meet the following requirements:
*
* -
- *
You must have a Business or Enterprise Support plan from Amazon Web Services Support to use the Health
+ *
You must have a Business, Enterprise On-Ramp, or Enterprise Support plan from Amazon Web Services Support to use the Health
* API. If you call the Health API from an Amazon Web Services account that doesn't have a
- * Business or Enterprise Support plan, you receive a
+ * Business, Enterprise On-Ramp, or Enterprise Support plan, you receive a
* SubscriptionRequiredException
error.
*
* -
diff --git a/clients/client-health/src/endpoints.ts b/clients/client-health/src/endpoints.ts
index 95f090f5238f..cf28d20533ba 100644
--- a/clients/client-health/src/endpoints.ts
+++ b/clients/client-health/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-health/src/models/models_0.ts b/clients/client-health/src/models/models_0.ts
index 21f0ecef20a0..bf8cd8cb457a 100644
--- a/clients/client-health/src/models/models_0.ts
+++ b/clients/client-health/src/models/models_0.ts
@@ -211,8 +211,7 @@ export namespace DateTimeRange {
}
/**
- *
The values to use to filter results from the DescribeAffectedEntities
- * operation.
+ * The values to use to filter results from the DescribeAffectedEntities operation.
*/
export interface EntityFilter {
/**
@@ -800,9 +799,10 @@ export namespace EventDetailsErrorItem {
*
* -
*
- * Account-specific events are specific to either your Amazon Web Services account or an account in your organization. For example, if there's an issue with
- * Amazon Elastic Compute Cloud in a Region that you use, Health provides information about the event
- * and the affected resources in the account.
+ * Account-specific events are specific to either your
+ * Amazon Web Services account or an account in your organization. For example, if there's an issue
+ * with Amazon Elastic Compute Cloud in a Region that you use, Health provides information about the
+ * event and the affected resources in the account.
*
*
* You can determine if an event is public or account-specific by using the
@@ -1035,7 +1035,8 @@ export interface OrganizationEventDetailsErrorItem {
*
We couldn't find an account specific event for the specified Amazon Web Services account. To find an event that is public, you must enter a null value for the Amazon Web Services account ID in the request.
*
* -
- *
Your Amazon Web Services account doesn't include the Amazon Web Services Support plan required to use the Health API. You must have either a Business or Enterprise Support plan.
+ * Your Amazon Web Services account doesn't include the Amazon Web Services Support plan required to use the
+ * Health API. You must have either a Business, Enterprise On-Ramp, or Enterprise Support plan.
*
*
*/
@@ -1074,9 +1075,10 @@ export interface OrganizationEventDetails {
*
* -
*
- * Account-specific events are specific to either your Amazon Web Services account or an account in your organization. For example, if there's an issue with
- * Amazon Elastic Compute Cloud in a Region that you use, Health provides information about the event
- * and the affected resources in the account.
+ * Account-specific events are specific to either your
+ * Amazon Web Services account or an account in your organization. For example, if there's an issue
+ * with Amazon Elastic Compute Cloud in a Region that you use, Health provides information about the
+ * event and the affected resources in the account.
*
*
* You can determine if an event is public or account-specific by using the
@@ -1566,8 +1568,7 @@ export namespace DescribeEventTypesResponse {
export interface DescribeHealthServiceStatusForOrganizationResponse {
/**
*
Information about the status of enabling or disabling the Health organizational
- * view feature in
- * your organization.
+ * view feature in your organization.
* Valid values are ENABLED | DISABLED | PENDING
.
*/
healthServiceAccessStatusForOrganization?: string;
diff --git a/clients/client-healthlake/src/endpoints.ts b/clients/client-healthlake/src/endpoints.ts
index c003928e5c60..2e1c62016160 100644
--- a/clients/client-healthlake/src/endpoints.ts
+++ b/clients/client-healthlake/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-honeycode/src/endpoints.ts b/clients/client-honeycode/src/endpoints.ts
index b0051d23c037..1b79b4750c38 100644
--- a/clients/client-honeycode/src/endpoints.ts
+++ b/clients/client-honeycode/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iam/src/endpoints.ts b/clients/client-iam/src/endpoints.ts
index 707191726d49..9fde5096398c 100644
--- a/clients/client-iam/src/endpoints.ts
+++ b/clients/client-iam/src/endpoints.ts
@@ -68,6 +68,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"aws-global",
"aws-global-fips",
"ca-central-1",
diff --git a/clients/client-identitystore/src/endpoints.ts b/clients/client-identitystore/src/endpoints.ts
index 6c9ecfa54535..3c75e4cbc16e 100644
--- a/clients/client-identitystore/src/endpoints.ts
+++ b/clients/client-identitystore/src/endpoints.ts
@@ -27,6 +27,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-imagebuilder/src/Imagebuilder.ts b/clients/client-imagebuilder/src/Imagebuilder.ts
index 4e8350d55f2f..2621675ccfbb 100644
--- a/clients/client-imagebuilder/src/Imagebuilder.ts
+++ b/clients/client-imagebuilder/src/Imagebuilder.ts
@@ -123,6 +123,11 @@ import {
ImportComponentCommandInput,
ImportComponentCommandOutput,
} from "./commands/ImportComponentCommand";
+import {
+ ImportVmImageCommand,
+ ImportVmImageCommandInput,
+ ImportVmImageCommandOutput,
+} from "./commands/ImportVmImageCommand";
import {
ListComponentBuildVersionsCommand,
ListComponentBuildVersionsCommandInput,
@@ -1105,6 +1110,46 @@ export class Imagebuilder extends ImagebuilderClient {
}
}
+ /**
+ * When you export your virtual machine (VM) from its virtualization environment,
+ * that process creates a set of one or more disk container files that act as
+ * snapshots of your VM’s environment, settings, and data. The Amazon EC2 API
+ * ImportImage
+ * action uses those files to import your VM and create an AMI. To import using the
+ * CLI command, see import-image
+ *
+ * You can reference the task ID from the VM import to pull in the AMI that
+ * the import created as the base image for your Image Builder recipe.
+ */
+ public importVmImage(
+ args: ImportVmImageCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public importVmImage(
+ args: ImportVmImageCommandInput,
+ cb: (err: any, data?: ImportVmImageCommandOutput) => void
+ ): void;
+ public importVmImage(
+ args: ImportVmImageCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ImportVmImageCommandOutput) => void
+ ): void;
+ public importVmImage(
+ args: ImportVmImageCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ImportVmImageCommandOutput) => void),
+ cb?: (err: any, data?: ImportVmImageCommandOutput) => void
+ ): Promise | void {
+ const command = new ImportVmImageCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Returns the list of component build versions for the specified semantic version.
*
diff --git a/clients/client-imagebuilder/src/ImagebuilderClient.ts b/clients/client-imagebuilder/src/ImagebuilderClient.ts
index e830635a95ae..6ad0605c4913 100644
--- a/clients/client-imagebuilder/src/ImagebuilderClient.ts
+++ b/clients/client-imagebuilder/src/ImagebuilderClient.ts
@@ -115,6 +115,7 @@ import {
GetInfrastructureConfigurationCommandOutput,
} from "./commands/GetInfrastructureConfigurationCommand";
import { ImportComponentCommandInput, ImportComponentCommandOutput } from "./commands/ImportComponentCommand";
+import { ImportVmImageCommandInput, ImportVmImageCommandOutput } from "./commands/ImportVmImageCommand";
import {
ListComponentBuildVersionsCommandInput,
ListComponentBuildVersionsCommandOutput,
@@ -206,6 +207,7 @@ export type ServiceInputTypes =
| GetImageRecipePolicyCommandInput
| GetInfrastructureConfigurationCommandInput
| ImportComponentCommandInput
+ | ImportVmImageCommandInput
| ListComponentBuildVersionsCommandInput
| ListComponentsCommandInput
| ListContainerRecipesCommandInput
@@ -257,6 +259,7 @@ export type ServiceOutputTypes =
| GetImageRecipePolicyCommandOutput
| GetInfrastructureConfigurationCommandOutput
| ImportComponentCommandOutput
+ | ImportVmImageCommandOutput
| ListComponentBuildVersionsCommandOutput
| ListComponentsCommandOutput
| ListContainerRecipesCommandOutput
diff --git a/clients/client-imagebuilder/src/commands/ImportVmImageCommand.ts b/clients/client-imagebuilder/src/commands/ImportVmImageCommand.ts
new file mode 100644
index 000000000000..7a5b48e479b9
--- /dev/null
+++ b/clients/client-imagebuilder/src/commands/ImportVmImageCommand.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 { ImagebuilderClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ImagebuilderClient";
+import { ImportVmImageRequest, ImportVmImageResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ImportVmImageCommand,
+ serializeAws_restJson1ImportVmImageCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ImportVmImageCommandInput extends ImportVmImageRequest {}
+export interface ImportVmImageCommandOutput extends ImportVmImageResponse, __MetadataBearer {}
+
+/**
+ * When you export your virtual machine (VM) from its virtualization environment,
+ * that process creates a set of one or more disk container files that act as
+ * snapshots of your VM’s environment, settings, and data. The Amazon EC2 API
+ * ImportImage
+ * action uses those files to import your VM and create an AMI. To import using the
+ * CLI command, see import-image
+ *
+ * You can reference the task ID from the VM import to pull in the AMI that
+ * the import created as the base image for your Image Builder recipe.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { ImagebuilderClient, ImportVmImageCommand } from "@aws-sdk/client-imagebuilder"; // ES Modules import
+ * // const { ImagebuilderClient, ImportVmImageCommand } = require("@aws-sdk/client-imagebuilder"); // CommonJS import
+ * const client = new ImagebuilderClient(config);
+ * const command = new ImportVmImageCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ImportVmImageCommandInput} for command's `input` shape.
+ * @see {@link ImportVmImageCommandOutput} for command's `response` shape.
+ * @see {@link ImagebuilderClientResolvedConfig | config} for ImagebuilderClient's `config` shape.
+ *
+ */
+export class ImportVmImageCommand extends $Command<
+ ImportVmImageCommandInput,
+ ImportVmImageCommandOutput,
+ ImagebuilderClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ImportVmImageCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: ImagebuilderClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "ImagebuilderClient";
+ const commandName = "ImportVmImageCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ImportVmImageRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ImportVmImageResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ImportVmImageCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1ImportVmImageCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1ImportVmImageCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-imagebuilder/src/commands/index.ts b/clients/client-imagebuilder/src/commands/index.ts
index 3dbb72ee3f8f..50a764ab4c6e 100644
--- a/clients/client-imagebuilder/src/commands/index.ts
+++ b/clients/client-imagebuilder/src/commands/index.ts
@@ -25,6 +25,7 @@ export * from "./GetImageRecipeCommand";
export * from "./GetImageRecipePolicyCommand";
export * from "./GetInfrastructureConfigurationCommand";
export * from "./ImportComponentCommand";
+export * from "./ImportVmImageCommand";
export * from "./ListComponentBuildVersionsCommand";
export * from "./ListComponentsCommand";
export * from "./ListContainerRecipesCommand";
diff --git a/clients/client-imagebuilder/src/endpoints.ts b/clients/client-imagebuilder/src/endpoints.ts
index 13812b37bebe..2d8a287da4d3 100644
--- a/clients/client-imagebuilder/src/endpoints.ts
+++ b/clients/client-imagebuilder/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-imagebuilder/src/models/models_0.ts b/clients/client-imagebuilder/src/models/models_0.ts
index 2e57ce3fa921..a12289062643 100644
--- a/clients/client-imagebuilder/src/models/models_0.ts
+++ b/clients/client-imagebuilder/src/models/models_0.ts
@@ -223,6 +223,12 @@ export namespace AmiDistributionConfiguration {
});
}
+export enum BuildType {
+ IMPORT = "IMPORT",
+ SCHEDULED = "SCHEDULED",
+ USER_INITIATED = "USER_INITIATED",
+}
+
/**
* You have exceeded the permitted request rate for the specific operation.
*/
@@ -248,7 +254,9 @@ export interface CancelImageCreationRequest {
imageBuildVersionArn: string | undefined;
/**
- * The idempotency token used to make this request idempotent.
+ * Unique, case-sensitive identifier you provide to ensure
+ * idempotency of the request. For more information, see Ensuring idempotency
+ * in the Amazon EC2 API Reference.
*/
clientToken?: string;
}
@@ -269,7 +277,7 @@ export interface CancelImageCreationResponse {
requestId?: string;
/**
- * The idempotency token used to make this request idempotent.
+ * The idempotency token that was used for this request.
*/
clientToken?: string;
@@ -1552,6 +1560,66 @@ export namespace LaunchTemplateConfiguration {
});
}
+export enum DiskImageFormat {
+ RAW = "RAW",
+ VHD = "VHD",
+ VMDK = "VMDK",
+}
+
+/**
+ * Properties that configure export from your build instance
+ * to a compatible file format for your VM.
+ */
+export interface S3ExportConfiguration {
+ /**
+ * The name of the role that grants VM Import/Export permission to
+ * export images to your S3 bucket.
+ */
+ roleName: string | undefined;
+
+ /**
+ * Export the updated image to one of the following supported disk
+ * image formats:
+ *
+ * -
+ *
+ * Virtual Hard Disk (VHD) –
+ * Compatible with Citrix Xen and Microsoft Hyper-V virtualization products.
+ *
+ * -
+ *
+ * Stream-optimized ESX Virtual Machine Disk
+ * (VMDK) – Compatible with VMware ESX and
+ * VMware vSphere versions 4, 5, and 6.
+ *
+ * -
+ *
+ * Raw – Raw format.
+ *
+ *
+ */
+ diskImageFormat: DiskImageFormat | string | undefined;
+
+ /**
+ * The S3 bucket in which to store the output disk images for your VM.
+ */
+ s3Bucket: string | undefined;
+
+ /**
+ * The Amazon S3 path for the bucket where the output disk images for your VM are stored.
+ */
+ s3Prefix?: string;
+}
+
+export namespace S3ExportConfiguration {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: S3ExportConfiguration): any => ({
+ ...obj,
+ });
+}
+
/**
* Defines the settings for a specific Region.
*/
@@ -1583,6 +1651,12 @@ export interface Distribution {
* for specified accounts.
*/
launchTemplateConfigurations?: LaunchTemplateConfiguration[];
+
+ /**
+ * Configure export settings to deliver disk images created from your image build,
+ * using a file format that is compatible with your VMs in that Region.
+ */
+ s3ExportConfiguration?: S3ExportConfiguration;
}
export namespace Distribution {
@@ -1658,11 +1732,14 @@ export namespace CreateDistributionConfigurationResponse {
}
/**
- * Image tests configuration.
+ * Configure image tests for your pipeline build. Tests run after building
+ * the image, to verify that the AMI or container image is valid before
+ * distributing it.
*/
export interface ImageTestsConfiguration {
/**
- * Defines if tests should be executed when building this image.
+ * Determines if tests should run after building the image. Image Builder defaults
+ * to enable tests to run following the image build, before image distribution.
*/
imageTestsEnabled?: boolean;
@@ -2077,12 +2154,12 @@ export namespace InstanceMetadataOptions {
*/
export interface S3Logs {
/**
- * The Amazon S3 bucket in which to store the logs.
+ * The S3 bucket in which to store the logs.
*/
s3BucketName?: string;
/**
- * The Amazon S3 path in which to store the logs.
+ * The Amazon S3 path to the bucket where the logs are stored.
*/
s3KeyPrefix?: string;
}
@@ -2167,7 +2244,12 @@ export interface CreateInfrastructureConfigurationRequest {
terminateInstanceOnFailure?: boolean;
/**
- * The SNS topic on which to send image build events.
+ * The Amazon Resource Name (ARN) for the SNS topic to which we send image build event notifications.
+ *
+ * EC2 Image Builder is unable to send notifications to SNS topics that are encrypted using keys
+ * from other accounts. The key that is used to encrypt the SNS topic must reside in the
+ * account that the Image Builder service runs under.
+ *
*/
snsTopicArn?: string;
@@ -3007,7 +3089,12 @@ export interface InfrastructureConfiguration {
terminateInstanceOnFailure?: boolean;
/**
- * The SNS topic Amazon Resource Name (ARN) of the infrastructure configuration.
+ * The Amazon Resource Name (ARN) for the SNS topic to which we send image build event notifications.
+ *
+ * EC2 Image Builder is unable to send notifications to SNS topics that are encrypted using keys
+ * from other accounts. The key that is used to encrypt the SNS topic must reside in the
+ * account that the Image Builder service runs under.
+ *
*/
snsTopicArn?: string;
@@ -3201,6 +3288,29 @@ export interface Image {
* The tags of the image.
*/
tags?: { [key: string]: string };
+
+ /**
+ * Indicates the type of build that created this image. The build can be initiated
+ * in the following ways:
+ *
+ * -
+ *
+ * USER_INITIATED – A manual
+ * pipeline build request.
+ *
+ * -
+ *
+ * SCHEDULED – A pipeline build
+ * initiated by a cron expression in the Image Builder pipeline, or from EventBridge.
+ *
+ * -
+ *
+ * IMPORT – A VM import created
+ * the image to use as the base image for the recipe.
+ *
+ *
+ */
+ buildType?: BuildType | string;
}
export namespace Image {
@@ -3641,6 +3751,102 @@ export namespace ImportComponentResponse {
});
}
+export interface ImportVmImageRequest {
+ /**
+ * The name of the base image that is created by the import process.
+ */
+ name: string | undefined;
+
+ /**
+ * The semantic version to attach to the base image that was created during the
+ * import process. This version follows the semantic version syntax.
+ *
+ * The semantic version has four nodes: ../.
+ * You can assign values for the first three, and can filter on all of them.
+ *
+ * Assignment: For the first three nodes you can assign any positive integer value, including
+ * zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the
+ * build number to the fourth node.
+ *
+ * Patterns: You can use any numeric pattern that adheres to the assignment requirements for
+ * the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or
+ * a date, such as 2021.01.01.
+ *
+ */
+ semanticVersion: string | undefined;
+
+ /**
+ * The description for the base image that is created by the import process.
+ */
+ description?: string;
+
+ /**
+ * The operating system platform for the imported VM.
+ */
+ platform: Platform | string | undefined;
+
+ /**
+ * The operating system version for the imported VM.
+ */
+ osVersion?: string;
+
+ /**
+ * The importTaskId
(API) or ImportTaskId
(CLI) from the
+ * Amazon EC2 VM import process. Image Builder retrieves information from the import process to pull
+ * in the AMI that is created from the VM source as the base image for your recipe.
+ */
+ vmImportTaskId: string | undefined;
+
+ /**
+ * Tags that are attached to the import resources.
+ */
+ tags?: { [key: string]: string };
+
+ /**
+ * Unique, case-sensitive identifier you provide to ensure
+ * idempotency of the request. For more information, see Ensuring idempotency
+ * in the Amazon EC2 API Reference.
+ */
+ clientToken?: string;
+}
+
+export namespace ImportVmImageRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ImportVmImageRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface ImportVmImageResponse {
+ /**
+ * The request ID that uniquely identifies this request.
+ */
+ requestId?: string;
+
+ /**
+ * The Amazon Resource Name (ARN) of the AMI that was created during the VM
+ * import process. This AMI is used as the base image for the recipe that
+ * imported the VM.
+ */
+ imageArn?: string;
+
+ /**
+ * The idempotency token that was used for this request.
+ */
+ clientToken?: string;
+}
+
+export namespace ImportVmImageResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ImportVmImageResponse): any => ({
+ ...obj,
+ });
+}
+
/**
* You have provided an invalid pagination token in your request.
*/
@@ -4076,6 +4282,29 @@ export interface ImageSummary {
* The tags of the image.
*/
tags?: { [key: string]: string };
+
+ /**
+ * Indicates the type of build that created this image. The build can be initiated
+ * in the following ways:
+ *
+ * -
+ *
+ * USER_INITIATED – A manual
+ * pipeline build request.
+ *
+ * -
+ *
+ * SCHEDULED – A pipeline build
+ * initiated by a cron expression in the Image Builder pipeline, or from EventBridge.
+ *
+ * -
+ *
+ * IMPORT – A VM import created
+ * the image to use as the base image for the recipe.
+ *
+ *
+ */
+ buildType?: BuildType | string;
}
export namespace ImageSummary {
@@ -4628,6 +4857,29 @@ export interface ImageVersion {
* The date on which this specific version of the Image Builder image was created.
*/
dateCreated?: string;
+
+ /**
+ * Indicates the type of build that created this image. The build can be initiated
+ * in the following ways:
+ *
+ * -
+ *
+ * USER_INITIATED – A manual
+ * pipeline build request.
+ *
+ * -
+ *
+ * SCHEDULED – A pipeline build
+ * initiated by a cron expression in the Image Builder pipeline, or from EventBridge.
+ *
+ * -
+ *
+ * IMPORT – A VM import created
+ * the image to use as the base image for the recipe.
+ *
+ *
+ */
+ buildType?: BuildType | string;
}
export namespace ImageVersion {
@@ -5346,7 +5598,12 @@ export interface UpdateInfrastructureConfigurationRequest {
terminateInstanceOnFailure?: boolean;
/**
- * The SNS topic on which to send image build events.
+ * The Amazon Resource Name (ARN) for the SNS topic to which we send image build event notifications.
+ *
+ * EC2 Image Builder is unable to send notifications to SNS topics that are encrypted using keys
+ * from other accounts. The key that is used to encrypt the SNS topic must reside in the
+ * account that the Image Builder service runs under.
+ *
*/
snsTopicArn?: string;
diff --git a/clients/client-imagebuilder/src/protocols/Aws_restJson1.ts b/clients/client-imagebuilder/src/protocols/Aws_restJson1.ts
index 98e35dc27ca9..5a33f2a0e245 100644
--- a/clients/client-imagebuilder/src/protocols/Aws_restJson1.ts
+++ b/clients/client-imagebuilder/src/protocols/Aws_restJson1.ts
@@ -82,6 +82,7 @@ import {
GetInfrastructureConfigurationCommandOutput,
} from "../commands/GetInfrastructureConfigurationCommand";
import { ImportComponentCommandInput, ImportComponentCommandOutput } from "../commands/ImportComponentCommand";
+import { ImportVmImageCommandInput, ImportVmImageCommandOutput } from "../commands/ImportVmImageCommand";
import {
ListComponentBuildVersionsCommandInput,
ListComponentBuildVersionsCommandOutput,
@@ -195,6 +196,7 @@ import {
ResourceDependencyException,
ResourceInUseException,
ResourceNotFoundException,
+ S3ExportConfiguration,
S3Logs,
Schedule,
ServiceException,
@@ -1014,6 +1016,39 @@ export const serializeAws_restJson1ImportComponentCommand = async (
});
};
+export const serializeAws_restJson1ImportVmImageCommand = async (
+ input: ImportVmImageCommandInput,
+ 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 || ""}` + "/ImportVmImage";
+ let body: any;
+ body = JSON.stringify({
+ clientToken: input.clientToken ?? generateIdempotencyToken(),
+ ...(input.description !== undefined && input.description !== null && { description: input.description }),
+ ...(input.name !== undefined && input.name !== null && { name: input.name }),
+ ...(input.osVersion !== undefined && input.osVersion !== null && { osVersion: input.osVersion }),
+ ...(input.platform !== undefined && input.platform !== null && { platform: input.platform }),
+ ...(input.semanticVersion !== undefined &&
+ input.semanticVersion !== null && { semanticVersion: input.semanticVersion }),
+ ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_restJson1TagMap(input.tags, context) }),
+ ...(input.vmImportTaskId !== undefined &&
+ input.vmImportTaskId !== null && { vmImportTaskId: input.vmImportTaskId }),
+ });
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "PUT",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1ListComponentBuildVersionsCommand = async (
input: ListComponentBuildVersionsCommandInput,
context: __SerdeContext
@@ -4757,6 +4792,85 @@ const deserializeAws_restJson1ImportComponentCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1ImportVmImageCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ImportVmImageCommandError(output, context);
+ }
+ const contents: ImportVmImageCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ clientToken: undefined,
+ imageArn: undefined,
+ requestId: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.clientToken !== undefined && data.clientToken !== null) {
+ contents.clientToken = __expectString(data.clientToken);
+ }
+ if (data.imageArn !== undefined && data.imageArn !== null) {
+ contents.imageArn = __expectString(data.imageArn);
+ }
+ if (data.requestId !== undefined && data.requestId !== null) {
+ contents.requestId = __expectString(data.requestId);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ImportVmImageCommandError = async (
+ 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 "ClientException":
+ case "com.amazonaws.imagebuilder#ClientException":
+ response = {
+ ...(await deserializeAws_restJson1ClientExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ServiceException":
+ case "com.amazonaws.imagebuilder#ServiceException":
+ response = {
+ ...(await deserializeAws_restJson1ServiceExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ServiceUnavailableException":
+ case "com.amazonaws.imagebuilder#ServiceUnavailableException":
+ response = {
+ ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const message = response.message || response.Message || errorCode;
+ response.message = message;
+ delete response.Message;
+ return Promise.reject(Object.assign(new Error(message), response));
+};
+
export const deserializeAws_restJson1ListComponentBuildVersionsCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -7603,6 +7717,10 @@ const serializeAws_restJson1Distribution = (input: Distribution, context: __Serd
),
}),
...(input.region !== undefined && input.region !== null && { region: input.region }),
+ ...(input.s3ExportConfiguration !== undefined &&
+ input.s3ExportConfiguration !== null && {
+ s3ExportConfiguration: serializeAws_restJson1S3ExportConfiguration(input.s3ExportConfiguration, context),
+ }),
};
};
@@ -7845,6 +7963,16 @@ const serializeAws_restJson1ResourceTagMap = (input: { [key: string]: string },
}, {});
};
+const serializeAws_restJson1S3ExportConfiguration = (input: S3ExportConfiguration, context: __SerdeContext): any => {
+ return {
+ ...(input.diskImageFormat !== undefined &&
+ input.diskImageFormat !== null && { diskImageFormat: input.diskImageFormat }),
+ ...(input.roleName !== undefined && input.roleName !== null && { roleName: input.roleName }),
+ ...(input.s3Bucket !== undefined && input.s3Bucket !== null && { s3Bucket: input.s3Bucket }),
+ ...(input.s3Prefix !== undefined && input.s3Prefix !== null && { s3Prefix: input.s3Prefix }),
+ };
+};
+
const serializeAws_restJson1S3Logs = (input: S3Logs, context: __SerdeContext): any => {
return {
...(input.s3BucketName !== undefined && input.s3BucketName !== null && { s3BucketName: input.s3BucketName }),
@@ -8305,6 +8433,10 @@ const deserializeAws_restJson1Distribution = (output: any, context: __SerdeConte
? deserializeAws_restJson1LicenseConfigurationArnList(output.licenseConfigurationArns, context)
: undefined,
region: __expectString(output.region),
+ s3ExportConfiguration:
+ output.s3ExportConfiguration !== undefined && output.s3ExportConfiguration !== null
+ ? deserializeAws_restJson1S3ExportConfiguration(output.s3ExportConfiguration, context)
+ : undefined,
} as any;
};
@@ -8395,6 +8527,7 @@ const deserializeAws_restJson1EbsInstanceBlockDeviceSpecification = (
const deserializeAws_restJson1Image = (output: any, context: __SerdeContext): Image => {
return {
arn: __expectString(output.arn),
+ buildType: __expectString(output.buildType),
containerRecipe:
output.containerRecipe !== undefined && output.containerRecipe !== null
? deserializeAws_restJson1ContainerRecipe(output.containerRecipe, context)
@@ -8566,6 +8699,7 @@ const deserializeAws_restJson1ImageState = (output: any, context: __SerdeContext
const deserializeAws_restJson1ImageSummary = (output: any, context: __SerdeContext): ImageSummary => {
return {
arn: __expectString(output.arn),
+ buildType: __expectString(output.buildType),
dateCreated: __expectString(output.dateCreated),
name: __expectString(output.name),
osVersion: __expectString(output.osVersion),
@@ -8612,6 +8746,7 @@ const deserializeAws_restJson1ImageTestsConfiguration = (
const deserializeAws_restJson1ImageVersion = (output: any, context: __SerdeContext): ImageVersion => {
return {
arn: __expectString(output.arn),
+ buildType: __expectString(output.buildType),
dateCreated: __expectString(output.dateCreated),
name: __expectString(output.name),
osVersion: __expectString(output.osVersion),
@@ -8913,6 +9048,15 @@ const deserializeAws_restJson1ResourceTagMap = (output: any, context: __SerdeCon
}, {});
};
+const deserializeAws_restJson1S3ExportConfiguration = (output: any, context: __SerdeContext): S3ExportConfiguration => {
+ return {
+ diskImageFormat: __expectString(output.diskImageFormat),
+ roleName: __expectString(output.roleName),
+ s3Bucket: __expectString(output.s3Bucket),
+ s3Prefix: __expectString(output.s3Prefix),
+ } as any;
+};
+
const deserializeAws_restJson1S3Logs = (output: any, context: __SerdeContext): S3Logs => {
return {
s3BucketName: __expectString(output.s3BucketName),
diff --git a/clients/client-inspector/src/endpoints.ts b/clients/client-inspector/src/endpoints.ts
index fc877061cba2..bd13c5cb7214 100644
--- a/clients/client-inspector/src/endpoints.ts
+++ b/clients/client-inspector/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-inspector2/src/endpoints.ts b/clients/client-inspector2/src/endpoints.ts
index 3badf56c0456..a24022413f27 100644
--- a/clients/client-inspector2/src/endpoints.ts
+++ b/clients/client-inspector2/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot-1click-devices-service/src/endpoints.ts b/clients/client-iot-1click-devices-service/src/endpoints.ts
index c43f8e15936f..f2eaf6ce347a 100644
--- a/clients/client-iot-1click-devices-service/src/endpoints.ts
+++ b/clients/client-iot-1click-devices-service/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot-1click-projects/src/endpoints.ts b/clients/client-iot-1click-projects/src/endpoints.ts
index b241b907d32c..83d3ac3ace0e 100644
--- a/clients/client-iot-1click-projects/src/endpoints.ts
+++ b/clients/client-iot-1click-projects/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot-data-plane/src/endpoints.ts b/clients/client-iot-data-plane/src/endpoints.ts
index 3bec1ba39033..0c8ca3b1a77a 100644
--- a/clients/client-iot-data-plane/src/endpoints.ts
+++ b/clients/client-iot-data-plane/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot-events-data/src/endpoints.ts b/clients/client-iot-events-data/src/endpoints.ts
index 91b82e2743a4..b30d36559aba 100644
--- a/clients/client-iot-events-data/src/endpoints.ts
+++ b/clients/client-iot-events-data/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot-events/src/endpoints.ts b/clients/client-iot-events/src/endpoints.ts
index c4b0d88f25d7..20cf816245e4 100644
--- a/clients/client-iot-events/src/endpoints.ts
+++ b/clients/client-iot-events/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot-jobs-data-plane/src/endpoints.ts b/clients/client-iot-jobs-data-plane/src/endpoints.ts
index 0aaaf8ff02ff..197d82ef7d2a 100644
--- a/clients/client-iot-jobs-data-plane/src/endpoints.ts
+++ b/clients/client-iot-jobs-data-plane/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot-wireless/src/endpoints.ts b/clients/client-iot-wireless/src/endpoints.ts
index 095cdf3929fd..1c8bdba7ab97 100644
--- a/clients/client-iot-wireless/src/endpoints.ts
+++ b/clients/client-iot-wireless/src/endpoints.ts
@@ -60,6 +60,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot/src/endpoints.ts b/clients/client-iot/src/endpoints.ts
index 45f91e433e8b..e9be11eee6f7 100644
--- a/clients/client-iot/src/endpoints.ts
+++ b/clients/client-iot/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iot/src/models/models_0.ts b/clients/client-iot/src/models/models_0.ts
index 4e60b6953172..fb3f2ceb06f5 100644
--- a/clients/client-iot/src/models/models_0.ts
+++ b/clients/client-iot/src/models/models_0.ts
@@ -3181,6 +3181,13 @@ export interface AuthorizerDescription {
* Specifies whether IoT validates the token signature in an authorization request.
*/
signingDisabled?: boolean;
+
+ /**
+ * When true
, the result from the authorizer’s Lambda function is
+ * cached for the time specified in refreshAfterInSeconds
. The cached
+ * result is used while the device reuses the same HTTP connection.
+ */
+ enableCachingForHttp?: boolean;
}
export namespace AuthorizerDescription {
@@ -3820,6 +3827,15 @@ export interface CreateAuthorizerRequest {
* Specifies whether IoT validates the token signature in an authorization request.
*/
signingDisabled?: boolean;
+
+ /**
+ * When true
, the result from the authorizer’s Lambda function is
+ * cached for clients that use persistent HTTP connections. The results are cached for the time
+ * specified by the Lambda function in refreshAfterInSeconds
. This value
+ * does not affect authorization of clients that use MQTT connections.
+ * The default value is false
.
+ */
+ enableCachingForHttp?: boolean;
}
export namespace CreateAuthorizerRequest {
diff --git a/clients/client-iot/src/models/models_2.ts b/clients/client-iot/src/models/models_2.ts
index dece250b5615..4da8315ebfa7 100644
--- a/clients/client-iot/src/models/models_2.ts
+++ b/clients/client-iot/src/models/models_2.ts
@@ -2473,6 +2473,13 @@ export interface UpdateAuthorizerRequest {
* The status of the update authorizer request.
*/
status?: AuthorizerStatus | string;
+
+ /**
+ * When true
, the result from the authorizer’s Lambda function is
+ * cached for the time specified in refreshAfterInSeconds
. The cached
+ * result is used while the device reuses the same HTTP connection.
+ */
+ enableCachingForHttp?: boolean;
}
export namespace UpdateAuthorizerRequest {
diff --git a/clients/client-iot/src/protocols/Aws_restJson1.ts b/clients/client-iot/src/protocols/Aws_restJson1.ts
index f517c681362e..408b5edbd98d 100644
--- a/clients/client-iot/src/protocols/Aws_restJson1.ts
+++ b/clients/client-iot/src/protocols/Aws_restJson1.ts
@@ -1488,6 +1488,8 @@ export const serializeAws_restJson1CreateAuthorizerCommand = async (
body = JSON.stringify({
...(input.authorizerFunctionArn !== undefined &&
input.authorizerFunctionArn !== null && { authorizerFunctionArn: input.authorizerFunctionArn }),
+ ...(input.enableCachingForHttp !== undefined &&
+ input.enableCachingForHttp !== null && { enableCachingForHttp: input.enableCachingForHttp }),
...(input.signingDisabled !== undefined &&
input.signingDisabled !== null && { signingDisabled: input.signingDisabled }),
...(input.status !== undefined && input.status !== null && { status: input.status }),
@@ -7656,6 +7658,8 @@ export const serializeAws_restJson1UpdateAuthorizerCommand = async (
body = JSON.stringify({
...(input.authorizerFunctionArn !== undefined &&
input.authorizerFunctionArn !== null && { authorizerFunctionArn: input.authorizerFunctionArn }),
+ ...(input.enableCachingForHttp !== undefined &&
+ input.enableCachingForHttp !== null && { enableCachingForHttp: input.enableCachingForHttp }),
...(input.status !== undefined && input.status !== null && { status: input.status }),
...(input.tokenKeyName !== undefined && input.tokenKeyName !== null && { tokenKeyName: input.tokenKeyName }),
...(input.tokenSigningPublicKeys !== undefined &&
@@ -33408,6 +33412,7 @@ const deserializeAws_restJson1AuthorizerDescription = (output: any, context: __S
output.creationDate !== undefined && output.creationDate !== null
? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.creationDate)))
: undefined,
+ enableCachingForHttp: __expectBoolean(output.enableCachingForHttp),
lastModifiedDate:
output.lastModifiedDate !== undefined && output.lastModifiedDate !== null
? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastModifiedDate)))
diff --git a/clients/client-iotanalytics/src/endpoints.ts b/clients/client-iotanalytics/src/endpoints.ts
index 9681a7b6f6a0..3638eadc2156 100644
--- a/clients/client-iotanalytics/src/endpoints.ts
+++ b/clients/client-iotanalytics/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iotdeviceadvisor/src/endpoints.ts b/clients/client-iotdeviceadvisor/src/endpoints.ts
index c963d4f3a228..58d797686368 100644
--- a/clients/client-iotdeviceadvisor/src/endpoints.ts
+++ b/clients/client-iotdeviceadvisor/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iotfleethub/src/endpoints.ts b/clients/client-iotfleethub/src/endpoints.ts
index a0d060bc2582..60f3d9ef05ad 100644
--- a/clients/client-iotfleethub/src/endpoints.ts
+++ b/clients/client-iotfleethub/src/endpoints.ts
@@ -63,6 +63,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iotsecuretunneling/src/endpoints.ts b/clients/client-iotsecuretunneling/src/endpoints.ts
index 6582e48769ef..3303ebfb00ac 100644
--- a/clients/client-iotsecuretunneling/src/endpoints.ts
+++ b/clients/client-iotsecuretunneling/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iotsitewise/src/endpoints.ts b/clients/client-iotsitewise/src/endpoints.ts
index 83805c43a02e..1ed62797fac8 100644
--- a/clients/client-iotsitewise/src/endpoints.ts
+++ b/clients/client-iotsitewise/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iotthingsgraph/src/endpoints.ts b/clients/client-iotthingsgraph/src/endpoints.ts
index 8d1544b47662..f01f4a53c31e 100644
--- a/clients/client-iotthingsgraph/src/endpoints.ts
+++ b/clients/client-iotthingsgraph/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-iottwinmaker/src/endpoints.ts b/clients/client-iottwinmaker/src/endpoints.ts
index 2db3610708f5..7f3a275be84c 100644
--- a/clients/client-iottwinmaker/src/endpoints.ts
+++ b/clients/client-iottwinmaker/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-ivs/src/endpoints.ts b/clients/client-ivs/src/endpoints.ts
index 2c0a0fb30a92..bd90ae0edbfe 100644
--- a/clients/client-ivs/src/endpoints.ts
+++ b/clients/client-ivs/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kafka/src/endpoints.ts b/clients/client-kafka/src/endpoints.ts
index 1ea1a1b11172..4a84ce49ef78 100644
--- a/clients/client-kafka/src/endpoints.ts
+++ b/clients/client-kafka/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kafkaconnect/src/endpoints.ts b/clients/client-kafkaconnect/src/endpoints.ts
index e9b163f8fd40..12b20d06e265 100644
--- a/clients/client-kafkaconnect/src/endpoints.ts
+++ b/clients/client-kafkaconnect/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kendra/src/endpoints.ts b/clients/client-kendra/src/endpoints.ts
index 167912b7427f..8ef511233160 100644
--- a/clients/client-kendra/src/endpoints.ts
+++ b/clients/client-kendra/src/endpoints.ts
@@ -63,6 +63,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kinesis-analytics-v2/src/endpoints.ts b/clients/client-kinesis-analytics-v2/src/endpoints.ts
index 194eb4afc0e9..3a87ae4c2c4f 100644
--- a/clients/client-kinesis-analytics-v2/src/endpoints.ts
+++ b/clients/client-kinesis-analytics-v2/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kinesis-analytics/src/endpoints.ts b/clients/client-kinesis-analytics/src/endpoints.ts
index 194eb4afc0e9..3a87ae4c2c4f 100644
--- a/clients/client-kinesis-analytics/src/endpoints.ts
+++ b/clients/client-kinesis-analytics/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kinesis-video-archived-media/src/endpoints.ts b/clients/client-kinesis-video-archived-media/src/endpoints.ts
index aa111986270e..b2382ca93620 100644
--- a/clients/client-kinesis-video-archived-media/src/endpoints.ts
+++ b/clients/client-kinesis-video-archived-media/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kinesis-video-media/src/endpoints.ts b/clients/client-kinesis-video-media/src/endpoints.ts
index aa111986270e..b2382ca93620 100644
--- a/clients/client-kinesis-video-media/src/endpoints.ts
+++ b/clients/client-kinesis-video-media/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kinesis-video-signaling/src/endpoints.ts b/clients/client-kinesis-video-signaling/src/endpoints.ts
index aa111986270e..b2382ca93620 100644
--- a/clients/client-kinesis-video-signaling/src/endpoints.ts
+++ b/clients/client-kinesis-video-signaling/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kinesis-video/src/endpoints.ts b/clients/client-kinesis-video/src/endpoints.ts
index aa111986270e..b2382ca93620 100644
--- a/clients/client-kinesis-video/src/endpoints.ts
+++ b/clients/client-kinesis-video/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kinesis/src/endpoints.ts b/clients/client-kinesis/src/endpoints.ts
index 548ded452911..35f31a0591f7 100644
--- a/clients/client-kinesis/src/endpoints.ts
+++ b/clients/client-kinesis/src/endpoints.ts
@@ -81,6 +81,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-kms/src/endpoints.ts b/clients/client-kms/src/endpoints.ts
index 2a52d3097d17..8421b1fa06dd 100644
--- a/clients/client-kms/src/endpoints.ts
+++ b/clients/client-kms/src/endpoints.ts
@@ -98,6 +98,18 @@ const regionHash: RegionHash = {
},
],
},
+ "ap-southeast-3": {
+ variants: [
+ {
+ hostname: "kms.ap-southeast-3.amazonaws.com",
+ tags: [],
+ },
+ {
+ hostname: "kms-fips.ap-southeast-3.amazonaws.com",
+ tags: ["fips"],
+ },
+ ],
+ },
"ca-central-1": {
variants: [
{
@@ -335,6 +347,7 @@ const partitionHash: PartitionHash = {
"ap-southeast-1-fips",
"ap-southeast-2",
"ap-southeast-2-fips",
+ "ap-southeast-3",
"ap-southeast-3-fips",
"ca-central-1",
"ca-central-1-fips",
diff --git a/clients/client-lakeformation/src/endpoints.ts b/clients/client-lakeformation/src/endpoints.ts
index 00ab2c333b3c..8b8d73fe33f9 100644
--- a/clients/client-lakeformation/src/endpoints.ts
+++ b/clients/client-lakeformation/src/endpoints.ts
@@ -75,6 +75,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-lambda/src/endpoints.ts b/clients/client-lambda/src/endpoints.ts
index 42dd22cf2481..dc854900420a 100644
--- a/clients/client-lambda/src/endpoints.ts
+++ b/clients/client-lambda/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-lex-model-building-service/src/endpoints.ts b/clients/client-lex-model-building-service/src/endpoints.ts
index 5c624395e139..e205ae2e6d73 100644
--- a/clients/client-lex-model-building-service/src/endpoints.ts
+++ b/clients/client-lex-model-building-service/src/endpoints.ts
@@ -51,6 +51,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-lex-models-v2/src/endpoints.ts b/clients/client-lex-models-v2/src/endpoints.ts
index eff719b01fa2..1186375bb048 100644
--- a/clients/client-lex-models-v2/src/endpoints.ts
+++ b/clients/client-lex-models-v2/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
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 e20b05187d46..083679d810a9 100644
--- a/clients/client-lex-models-v2/src/models/models_0.ts
+++ b/clients/client-lex-models-v2/src/models/models_0.ts
@@ -724,9 +724,13 @@ export interface VoiceSettings {
voiceId: string | undefined;
/**
- * Indicates the type of Amazon Polly
- * voice that Amazon Lex should use for voice interaction with the user.
- * For more information, see Voices in Amazon Polly.
+ * Indicates the type of Amazon Polly voice that Amazon Lex should use for voice interaction with the user. For more
+ * information, see the
+ * engine
parameter of the
+ * SynthesizeSpeech
operation in the
+ * Amazon Polly developer guide.
+ * If you do not specify a value, the default is
+ * standard
.
*/
engine?: VoiceEngine | string;
}
@@ -3675,6 +3679,78 @@ export namespace CreateSlotResponse {
});
}
+/**
+ * Describes the Amazon S3 bucket name and location for the grammar
+ * that is the source for the slot type.
+ */
+export interface GrammarSlotTypeSource {
+ /**
+ * The name of the S3 bucket that contains the grammar source.
+ */
+ s3BucketName: string | undefined;
+
+ /**
+ * The path to the grammar in the S3 bucket.
+ */
+ s3ObjectKey: string | undefined;
+
+ /**
+ * The Amazon KMS key required to decrypt the contents of the grammar,
+ * if any.
+ */
+ kmsKeyArn?: string;
+}
+
+export namespace GrammarSlotTypeSource {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GrammarSlotTypeSource): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Settings requried for a slot type based on a grammar that you
+ * provide.
+ */
+export interface GrammarSlotTypeSetting {
+ /**
+ * The source of the grammar used to create the slot type.
+ */
+ source?: GrammarSlotTypeSource;
+}
+
+export namespace GrammarSlotTypeSetting {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GrammarSlotTypeSetting): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Provides information about the external source of the slot type's
+ * definition.
+ */
+export interface ExternalSourceSetting {
+ /**
+ * Settings required for a slot type based on a grammar that you
+ * provide.
+ */
+ grammarSlotTypeSetting?: GrammarSlotTypeSetting;
+}
+
+export namespace ExternalSourceSetting {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ExternalSourceSetting): any => ({
+ ...obj,
+ });
+}
+
/**
* Defines one of the values for a slot type.
*/
@@ -3851,7 +3927,7 @@ export interface CreateSlotTypeRequest {
* If you don't specify the valueSelectionSetting
* parameter, the default is OriginalValue
.
*/
- valueSelectionSetting: SlotValueSelectionSetting | undefined;
+ valueSelectionSetting?: SlotValueSelectionSetting;
/**
* The built-in slot type used as a parent of this slot type. When you
@@ -3879,6 +3955,12 @@ export interface CreateSlotTypeRequest {
* locale. For more information, see Supported languages.
*/
localeId: string | undefined;
+
+ /**
+ * Sets the type of external information used to create the slot
+ * type.
+ */
+ externalSourceSetting?: ExternalSourceSetting;
}
export namespace CreateSlotTypeRequest {
@@ -3945,6 +4027,12 @@ export interface CreateSlotTypeResponse {
* created.
*/
creationDateTime?: Date;
+
+ /**
+ * The type of external information used to create the slot
+ * type.
+ */
+ externalSourceSetting?: ExternalSourceSetting;
}
export namespace CreateSlotTypeResponse {
@@ -4875,6 +4963,12 @@ export interface DescribeBotLocaleResponse {
* have taken place for the locale.
*/
botLocaleHistoryEvents?: BotLocaleHistoryEvent[];
+
+ /**
+ * Recommended actions to take to resolve an error in the
+ * failureReasons
field.
+ */
+ recommendedActions?: string[];
}
export namespace DescribeBotLocaleResponse {
@@ -5880,6 +5974,12 @@ export interface DescribeSlotTypeResponse {
* updated.
*/
lastUpdatedDateTime?: Date;
+
+ /**
+ * Provides information about the external source of the slot type's
+ * definition.
+ */
+ externalSourceSetting?: ExternalSourceSetting;
}
export namespace DescribeSlotTypeResponse {
@@ -7721,6 +7821,7 @@ export namespace ListSlotsResponse {
}
export enum SlotTypeFilterName {
+ ExternalSourceType = "ExternalSourceType",
SlotTypeName = "SlotTypeName",
}
@@ -7853,6 +7954,12 @@ export namespace ListSlotTypesRequest {
});
}
+export enum SlotTypeCategory {
+ Custom = "Custom",
+ Extended = "Extended",
+ ExternalGrammar = "ExternalGrammar",
+}
+
/**
* Provides summary information about a slot type.
*/
@@ -7883,6 +7990,30 @@ export interface SlotTypeSummary {
* updated.
*/
lastUpdatedDateTime?: Date;
+
+ /**
+ * Indicates the type of the slot type.
+ *
+ * -
+ *
+ * Custom
- A slot type that you created using
+ * custom values. For more information, see Creating custom slot
+ * types.
+ *
+ * -
+ *
+ * Extended
- A slot type created by extending the
+ * AMAZON.AlphaNumeric built-in slot type. For more information, see
+ * AMAZON.AlphaNumeric.
+ *
+ * -
+ *
+ * ExternalGrammar
- A slot type using a custom
+ * GRXML grammar to define values. For more information, see Using a custom grammar slot type.
+ *
+ *
+ */
+ slotTypeCategory?: SlotTypeCategory | string;
}
export namespace SlotTypeSummary {
@@ -8697,6 +8828,12 @@ export interface UpdateBotLocaleResponse {
* updated.
*/
lastUpdatedDateTime?: Date;
+
+ /**
+ * Recommended actions to take to resolve an error in the
+ * failureReasons
field.
+ */
+ recommendedActions?: string[];
}
export namespace UpdateBotLocaleResponse {
@@ -9348,7 +9485,7 @@ export interface UpdateSlotTypeRequest {
* The strategy that Amazon Lex should use when deciding on a value from the
* list of slot type values.
*/
- valueSelectionSetting: SlotValueSelectionSetting | undefined;
+ valueSelectionSetting?: SlotValueSelectionSetting;
/**
* The new built-in slot type that should be used as the parent of this
@@ -9373,6 +9510,12 @@ export interface UpdateSlotTypeRequest {
* information, see Supported languages.
*/
localeId: string | undefined;
+
+ /**
+ * Provides information about the external source of the slot type's
+ * definition.
+ */
+ externalSourceSetting?: ExternalSourceSetting;
}
export namespace UpdateSlotTypeRequest {
@@ -9444,6 +9587,12 @@ export interface UpdateSlotTypeResponse {
* updated.
*/
lastUpdatedDateTime?: Date;
+
+ /**
+ * Provides information about the external source of the slot type's
+ * definition.
+ */
+ externalSourceSetting?: ExternalSourceSetting;
}
export namespace UpdateSlotTypeResponse {
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 33d0bbe9ee0e..1181c7eb4bd2 100644
--- a/clients/client-lex-models-v2/src/protocols/Aws_restJson1.ts
+++ b/clients/client-lex-models-v2/src/protocols/Aws_restJson1.ts
@@ -175,10 +175,13 @@ import {
ExportResourceSpecification,
ExportSortBy,
ExportSummary,
+ ExternalSourceSetting,
FulfillmentCodeHookSettings,
FulfillmentStartResponseSpecification,
FulfillmentUpdateResponseSpecification,
FulfillmentUpdatesSpecification,
+ GrammarSlotTypeSetting,
+ GrammarSlotTypeSource,
ImageResponseCard,
ImportFilter,
ImportResourceSpecification,
@@ -790,6 +793,10 @@ export const serializeAws_restJson1CreateSlotTypeCommand = async (
let body: any;
body = JSON.stringify({
...(input.description !== undefined && input.description !== null && { description: input.description }),
+ ...(input.externalSourceSetting !== undefined &&
+ input.externalSourceSetting !== null && {
+ externalSourceSetting: serializeAws_restJson1ExternalSourceSetting(input.externalSourceSetting, context),
+ }),
...(input.parentSlotTypeSignature !== undefined &&
input.parentSlotTypeSignature !== null && { parentSlotTypeSignature: input.parentSlotTypeSignature }),
...(input.slotTypeName !== undefined && input.slotTypeName !== null && { slotTypeName: input.slotTypeName }),
@@ -3245,6 +3252,10 @@ export const serializeAws_restJson1UpdateSlotTypeCommand = async (
let body: any;
body = JSON.stringify({
...(input.description !== undefined && input.description !== null && { description: input.description }),
+ ...(input.externalSourceSetting !== undefined &&
+ input.externalSourceSetting !== null && {
+ externalSourceSetting: serializeAws_restJson1ExternalSourceSetting(input.externalSourceSetting, context),
+ }),
...(input.parentSlotTypeSignature !== undefined &&
input.parentSlotTypeSignature !== null && { parentSlotTypeSignature: input.parentSlotTypeSignature }),
...(input.slotTypeName !== undefined && input.slotTypeName !== null && { slotTypeName: input.slotTypeName }),
@@ -4537,6 +4548,7 @@ export const deserializeAws_restJson1CreateSlotTypeCommand = async (
botVersion: undefined,
creationDateTime: undefined,
description: undefined,
+ externalSourceSetting: undefined,
localeId: undefined,
parentSlotTypeSignature: undefined,
slotTypeId: undefined,
@@ -4557,6 +4569,9 @@ export const deserializeAws_restJson1CreateSlotTypeCommand = async (
if (data.description !== undefined && data.description !== null) {
contents.description = __expectString(data.description);
}
+ if (data.externalSourceSetting !== undefined && data.externalSourceSetting !== null) {
+ contents.externalSourceSetting = deserializeAws_restJson1ExternalSourceSetting(data.externalSourceSetting, context);
+ }
if (data.localeId !== undefined && data.localeId !== null) {
contents.localeId = __expectString(data.localeId);
}
@@ -6133,6 +6148,7 @@ export const deserializeAws_restJson1DescribeBotLocaleCommand = async (
localeId: undefined,
localeName: undefined,
nluIntentConfidenceThreshold: undefined,
+ recommendedActions: undefined,
slotTypesCount: undefined,
voiceSettings: undefined,
};
@@ -6181,6 +6197,9 @@ export const deserializeAws_restJson1DescribeBotLocaleCommand = async (
if (data.nluIntentConfidenceThreshold !== undefined && data.nluIntentConfidenceThreshold !== null) {
contents.nluIntentConfidenceThreshold = __limitedParseDouble(data.nluIntentConfidenceThreshold);
}
+ if (data.recommendedActions !== undefined && data.recommendedActions !== null) {
+ contents.recommendedActions = deserializeAws_restJson1RecommendedActions(data.recommendedActions, context);
+ }
if (data.slotTypesCount !== undefined && data.slotTypesCount !== null) {
contents.slotTypesCount = __expectInt32(data.slotTypesCount);
}
@@ -7122,6 +7141,7 @@ export const deserializeAws_restJson1DescribeSlotTypeCommand = async (
botVersion: undefined,
creationDateTime: undefined,
description: undefined,
+ externalSourceSetting: undefined,
lastUpdatedDateTime: undefined,
localeId: undefined,
parentSlotTypeSignature: undefined,
@@ -7143,6 +7163,9 @@ export const deserializeAws_restJson1DescribeSlotTypeCommand = async (
if (data.description !== undefined && data.description !== null) {
contents.description = __expectString(data.description);
}
+ if (data.externalSourceSetting !== undefined && data.externalSourceSetting !== null) {
+ contents.externalSourceSetting = deserializeAws_restJson1ExternalSourceSetting(data.externalSourceSetting, context);
+ }
if (data.lastUpdatedDateTime !== undefined && data.lastUpdatedDateTime !== null) {
contents.lastUpdatedDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.lastUpdatedDateTime)));
}
@@ -9435,6 +9458,7 @@ export const deserializeAws_restJson1UpdateBotLocaleCommand = async (
localeId: undefined,
localeName: undefined,
nluIntentConfidenceThreshold: undefined,
+ recommendedActions: undefined,
voiceSettings: undefined,
};
const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
@@ -9468,6 +9492,9 @@ export const deserializeAws_restJson1UpdateBotLocaleCommand = async (
if (data.nluIntentConfidenceThreshold !== undefined && data.nluIntentConfidenceThreshold !== null) {
contents.nluIntentConfidenceThreshold = __limitedParseDouble(data.nluIntentConfidenceThreshold);
}
+ if (data.recommendedActions !== undefined && data.recommendedActions !== null) {
+ contents.recommendedActions = deserializeAws_restJson1RecommendedActions(data.recommendedActions, context);
+ }
if (data.voiceSettings !== undefined && data.voiceSettings !== null) {
contents.voiceSettings = deserializeAws_restJson1VoiceSettings(data.voiceSettings, context);
}
@@ -10234,6 +10261,7 @@ export const deserializeAws_restJson1UpdateSlotTypeCommand = async (
botVersion: undefined,
creationDateTime: undefined,
description: undefined,
+ externalSourceSetting: undefined,
lastUpdatedDateTime: undefined,
localeId: undefined,
parentSlotTypeSignature: undefined,
@@ -10255,6 +10283,9 @@ export const deserializeAws_restJson1UpdateSlotTypeCommand = async (
if (data.description !== undefined && data.description !== null) {
contents.description = __expectString(data.description);
}
+ if (data.externalSourceSetting !== undefined && data.externalSourceSetting !== null) {
+ contents.externalSourceSetting = deserializeAws_restJson1ExternalSourceSetting(data.externalSourceSetting, context);
+ }
if (data.lastUpdatedDateTime !== undefined && data.lastUpdatedDateTime !== null) {
contents.lastUpdatedDateTime = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.lastUpdatedDateTime)));
}
@@ -10916,6 +10947,15 @@ const serializeAws_restJson1ExportSortBy = (input: ExportSortBy, context: __Serd
};
};
+const serializeAws_restJson1ExternalSourceSetting = (input: ExternalSourceSetting, context: __SerdeContext): any => {
+ return {
+ ...(input.grammarSlotTypeSetting !== undefined &&
+ input.grammarSlotTypeSetting !== null && {
+ grammarSlotTypeSetting: serializeAws_restJson1GrammarSlotTypeSetting(input.grammarSlotTypeSetting, context),
+ }),
+ };
+};
+
const serializeAws_restJson1FilterValues = (input: string[], context: __SerdeContext): any => {
return input
.filter((e: any) => e != null)
@@ -11001,6 +11041,21 @@ const serializeAws_restJson1FulfillmentUpdatesSpecification = (
};
};
+const serializeAws_restJson1GrammarSlotTypeSetting = (input: GrammarSlotTypeSetting, context: __SerdeContext): any => {
+ return {
+ ...(input.source !== undefined &&
+ input.source !== null && { source: serializeAws_restJson1GrammarSlotTypeSource(input.source, context) }),
+ };
+};
+
+const serializeAws_restJson1GrammarSlotTypeSource = (input: GrammarSlotTypeSource, context: __SerdeContext): any => {
+ return {
+ ...(input.kmsKeyArn !== undefined && input.kmsKeyArn !== null && { kmsKeyArn: input.kmsKeyArn }),
+ ...(input.s3BucketName !== undefined && input.s3BucketName !== null && { s3BucketName: input.s3BucketName }),
+ ...(input.s3ObjectKey !== undefined && input.s3ObjectKey !== null && { s3ObjectKey: input.s3ObjectKey }),
+ };
+};
+
const serializeAws_restJson1ImageResponseCard = (input: ImageResponseCard, context: __SerdeContext): any => {
return {
...(input.buttons !== undefined &&
@@ -12339,6 +12394,15 @@ const deserializeAws_restJson1ExportSummaryList = (output: any, context: __Serde
});
};
+const deserializeAws_restJson1ExternalSourceSetting = (output: any, context: __SerdeContext): ExternalSourceSetting => {
+ return {
+ grammarSlotTypeSetting:
+ output.grammarSlotTypeSetting !== undefined && output.grammarSlotTypeSetting !== null
+ ? deserializeAws_restJson1GrammarSlotTypeSetting(output.grammarSlotTypeSetting, context)
+ : undefined,
+ } as any;
+};
+
const deserializeAws_restJson1FailureReasons = (output: any, context: __SerdeContext): string[] => {
return (output || [])
.filter((e: any) => e != null)
@@ -12413,6 +12477,26 @@ const deserializeAws_restJson1FulfillmentUpdatesSpecification = (
} as any;
};
+const deserializeAws_restJson1GrammarSlotTypeSetting = (
+ output: any,
+ context: __SerdeContext
+): GrammarSlotTypeSetting => {
+ return {
+ source:
+ output.source !== undefined && output.source !== null
+ ? deserializeAws_restJson1GrammarSlotTypeSource(output.source, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1GrammarSlotTypeSource = (output: any, context: __SerdeContext): GrammarSlotTypeSource => {
+ return {
+ kmsKeyArn: __expectString(output.kmsKeyArn),
+ s3BucketName: __expectString(output.s3BucketName),
+ s3ObjectKey: __expectString(output.s3ObjectKey),
+ } as any;
+};
+
const deserializeAws_restJson1ImageResponseCard = (output: any, context: __SerdeContext): ImageResponseCard => {
return {
buttons:
@@ -12720,6 +12804,17 @@ const deserializeAws_restJson1PromptSpecification = (output: any, context: __Ser
} as any;
};
+const deserializeAws_restJson1RecommendedActions = (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_restJson1RecommendedIntentSummary = (
output: any,
context: __SerdeContext
@@ -12917,6 +13012,7 @@ const deserializeAws_restJson1SlotTypeSummary = (output: any, context: __SerdeCo
? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdatedDateTime)))
: undefined,
parentSlotTypeSignature: __expectString(output.parentSlotTypeSignature),
+ slotTypeCategory: __expectString(output.slotTypeCategory),
slotTypeId: __expectString(output.slotTypeId),
slotTypeName: __expectString(output.slotTypeName),
} as any;
diff --git a/clients/client-lex-runtime-service/src/endpoints.ts b/clients/client-lex-runtime-service/src/endpoints.ts
index 2ee4895266ac..ed15e35f381a 100644
--- a/clients/client-lex-runtime-service/src/endpoints.ts
+++ b/clients/client-lex-runtime-service/src/endpoints.ts
@@ -51,6 +51,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-lex-runtime-v2/src/endpoints.ts b/clients/client-lex-runtime-v2/src/endpoints.ts
index f04a3716d3f0..2d6698791141 100644
--- a/clients/client-lex-runtime-v2/src/endpoints.ts
+++ b/clients/client-lex-runtime-v2/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-license-manager/src/endpoints.ts b/clients/client-license-manager/src/endpoints.ts
index 1b87148e3f9b..30adcda1a375 100644
--- a/clients/client-license-manager/src/endpoints.ts
+++ b/clients/client-license-manager/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-lightsail/src/endpoints.ts b/clients/client-lightsail/src/endpoints.ts
index 6164d259f49d..c77adaf9f933 100644
--- a/clients/client-lightsail/src/endpoints.ts
+++ b/clients/client-lightsail/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-location/src/Location.ts b/clients/client-location/src/Location.ts
index 261eb1f66cff..0bac9ab98db2 100644
--- a/clients/client-location/src/Location.ts
+++ b/clients/client-location/src/Location.ts
@@ -182,6 +182,11 @@ import {
SearchPlaceIndexForPositionCommandInput,
SearchPlaceIndexForPositionCommandOutput,
} from "./commands/SearchPlaceIndexForPositionCommand";
+import {
+ SearchPlaceIndexForSuggestionsCommand,
+ SearchPlaceIndexForSuggestionsCommandInput,
+ SearchPlaceIndexForSuggestionsCommandOutput,
+} from "./commands/SearchPlaceIndexForSuggestionsCommand";
import {
SearchPlaceIndexForTextCommand,
SearchPlaceIndexForTextCommandInput,
@@ -347,6 +352,10 @@ export class Location extends LocationClient {
* The last geofence that a device was observed within is tracked for 30 days after
* the most recent device position update.
*
+ *
+ * Geofence evaluation uses the given device position. It does not account for the
+ * optional Accuracy
of a DevicePositionUpdate
.
+ *
*/
public batchEvaluateGeofences(
args: BatchEvaluateGeofencesCommandInput,
@@ -450,9 +459,17 @@ export class Location extends LocationClient {
* Position updates are handled based on the PositionFiltering
property of the tracker.
* When PositionFiltering
is set to TimeBased
, updates are evaluated against linked geofence collections,
* and location data is stored at a maximum of one position per 30 second interval. If your update frequency is more often than
- * every 30 seconds, only one update per 30 seconds is stored for each unique device ID.
- * When PositionFiltering
is set to DistanceBased
filtering, location data is stored and evaluated against linked geofence
- * collections only if the device has moved more than 30 m (98.4 ft).
+ * every 30 seconds, only one update per 30 seconds is stored for each unique device ID.
+ * When PositionFiltering
is set to DistanceBased
filtering, location data is stored and evaluated against linked geofence
+ * collections only if the device has moved more than 30 m (98.4 ft).
+ * When PositionFiltering
is set to AccuracyBased
filtering,
+ * location data is stored and evaluated against linked geofence collections only if the
+ * device has moved more than the measured accuracy. For example, if two consecutive
+ * updates from a device have a horizontal accuracy of 5 m and 10 m, the second update
+ * is neither stored or evaluated if the device has moved less than 15 m. If
+ * PositionFiltering
is set to AccuracyBased
filtering, Amazon Location
+ * uses the default value { "Horizontal": 0}
when accuracy is not provided on
+ * a DevicePositionUpdate
.
*
*/
public batchUpdateDevicePosition(
@@ -607,7 +624,8 @@ export class Location extends LocationClient {
/**
* Creates a place index resource in your AWS account. Use a place index resource to
* geocode addresses and other text queries by using the SearchPlaceIndexForText
operation,
- * and reverse geocode coordinates by using the SearchPlaceIndexForPosition
operation.
+ * and reverse geocode coordinates by using the SearchPlaceIndexForPosition
operation, and
+ * enable autosuggestions by using the SearchPlaceIndexForSuggestions
operation.
*/
public createPlaceIndex(
args: CreatePlaceIndexCommandInput,
@@ -1634,6 +1652,47 @@ export class Location extends LocationClient {
}
}
+ /**
+ * Generates suggestions for addresses and points of interest based on partial or
+ * misspelled free-form text. This operation is also known as autocomplete, autosuggest,
+ * or fuzzy matching.
+ * Optional parameters let you narrow your search results by bounding box or
+ * country, or bias your search toward a specific position on the globe.
+ *
+ * You can search for suggested place names near a specified position by using BiasPosition
, or
+ * filter results within a bounding box by using FilterBBox
. These parameters are mutually exclusive;
+ * using both BiasPosition
and FilterBBox
in the same command returns an error.
+ *
+ */
+ public searchPlaceIndexForSuggestions(
+ args: SearchPlaceIndexForSuggestionsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public searchPlaceIndexForSuggestions(
+ args: SearchPlaceIndexForSuggestionsCommandInput,
+ cb: (err: any, data?: SearchPlaceIndexForSuggestionsCommandOutput) => void
+ ): void;
+ public searchPlaceIndexForSuggestions(
+ args: SearchPlaceIndexForSuggestionsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: SearchPlaceIndexForSuggestionsCommandOutput) => void
+ ): void;
+ public searchPlaceIndexForSuggestions(
+ args: SearchPlaceIndexForSuggestionsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: SearchPlaceIndexForSuggestionsCommandOutput) => void),
+ cb?: (err: any, data?: SearchPlaceIndexForSuggestionsCommandOutput) => void
+ ): Promise | void {
+ const command = new SearchPlaceIndexForSuggestionsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Geocodes free-form text, such as an address, name, city, or region to allow you to
* search for Places or points of interest.
diff --git a/clients/client-location/src/LocationClient.ts b/clients/client-location/src/LocationClient.ts
index 68aa88cb8a47..935309101f1d 100644
--- a/clients/client-location/src/LocationClient.ts
+++ b/clients/client-location/src/LocationClient.ts
@@ -154,6 +154,10 @@ import {
SearchPlaceIndexForPositionCommandInput,
SearchPlaceIndexForPositionCommandOutput,
} from "./commands/SearchPlaceIndexForPositionCommand";
+import {
+ SearchPlaceIndexForSuggestionsCommandInput,
+ SearchPlaceIndexForSuggestionsCommandOutput,
+} from "./commands/SearchPlaceIndexForSuggestionsCommand";
import {
SearchPlaceIndexForTextCommandInput,
SearchPlaceIndexForTextCommandOutput,
@@ -216,6 +220,7 @@ export type ServiceInputTypes =
| ListTrackersCommandInput
| PutGeofenceCommandInput
| SearchPlaceIndexForPositionCommandInput
+ | SearchPlaceIndexForSuggestionsCommandInput
| SearchPlaceIndexForTextCommandInput
| TagResourceCommandInput
| UntagResourceCommandInput
@@ -268,6 +273,7 @@ export type ServiceOutputTypes =
| ListTrackersCommandOutput
| PutGeofenceCommandOutput
| SearchPlaceIndexForPositionCommandOutput
+ | SearchPlaceIndexForSuggestionsCommandOutput
| SearchPlaceIndexForTextCommandOutput
| TagResourceCommandOutput
| UntagResourceCommandOutput
diff --git a/clients/client-location/src/commands/BatchEvaluateGeofencesCommand.ts b/clients/client-location/src/commands/BatchEvaluateGeofencesCommand.ts
index 35594efa3369..22d4a1ae5092 100644
--- a/clients/client-location/src/commands/BatchEvaluateGeofencesCommand.ts
+++ b/clients/client-location/src/commands/BatchEvaluateGeofencesCommand.ts
@@ -43,6 +43,10 @@ export interface BatchEvaluateGeofencesCommandOutput extends BatchEvaluateGeofen
* The last geofence that a device was observed within is tracked for 30 days after
* the most recent device position update.
*
+ *
+ * Geofence evaluation uses the given device position. It does not account for the
+ * optional Accuracy
of a DevicePositionUpdate
.
+ *
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-location/src/commands/BatchUpdateDevicePositionCommand.ts b/clients/client-location/src/commands/BatchUpdateDevicePositionCommand.ts
index 010168afe906..d1bda5c02c7a 100644
--- a/clients/client-location/src/commands/BatchUpdateDevicePositionCommand.ts
+++ b/clients/client-location/src/commands/BatchUpdateDevicePositionCommand.ts
@@ -29,9 +29,17 @@ export interface BatchUpdateDevicePositionCommandOutput extends BatchUpdateDevic
* Position updates are handled based on the PositionFiltering
property of the tracker.
* When PositionFiltering
is set to TimeBased
, updates are evaluated against linked geofence collections,
* and location data is stored at a maximum of one position per 30 second interval. If your update frequency is more often than
- * every 30 seconds, only one update per 30 seconds is stored for each unique device ID.
- * When PositionFiltering
is set to DistanceBased
filtering, location data is stored and evaluated against linked geofence
- * collections only if the device has moved more than 30 m (98.4 ft).
+ * every 30 seconds, only one update per 30 seconds is stored for each unique device ID.
+ * When PositionFiltering
is set to DistanceBased
filtering, location data is stored and evaluated against linked geofence
+ * collections only if the device has moved more than 30 m (98.4 ft).
+ * When PositionFiltering
is set to AccuracyBased
filtering,
+ * location data is stored and evaluated against linked geofence collections only if the
+ * device has moved more than the measured accuracy. For example, if two consecutive
+ * updates from a device have a horizontal accuracy of 5 m and 10 m, the second update
+ * is neither stored or evaluated if the device has moved less than 15 m. If
+ * PositionFiltering
is set to AccuracyBased
filtering, Amazon Location
+ * uses the default value { "Horizontal": 0}
when accuracy is not provided on
+ * a DevicePositionUpdate
.
*
* @example
* Use a bare-bones client and the command you need to make an API call.
diff --git a/clients/client-location/src/commands/CreatePlaceIndexCommand.ts b/clients/client-location/src/commands/CreatePlaceIndexCommand.ts
index acf9e318df3e..d78e3a6239c4 100644
--- a/clients/client-location/src/commands/CreatePlaceIndexCommand.ts
+++ b/clients/client-location/src/commands/CreatePlaceIndexCommand.ts
@@ -24,7 +24,8 @@ export interface CreatePlaceIndexCommandOutput extends CreatePlaceIndexResponse,
/**
* Creates a place index resource in your AWS account. Use a place index resource to
* geocode addresses and other text queries by using the SearchPlaceIndexForText
operation,
- * and reverse geocode coordinates by using the SearchPlaceIndexForPosition
operation.
+ * and reverse geocode coordinates by using the SearchPlaceIndexForPosition
operation, and
+ * enable autosuggestions by using the SearchPlaceIndexForSuggestions
operation.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-location/src/commands/SearchPlaceIndexForSuggestionsCommand.ts b/clients/client-location/src/commands/SearchPlaceIndexForSuggestionsCommand.ts
new file mode 100644
index 000000000000..efdde8ba6bcb
--- /dev/null
+++ b/clients/client-location/src/commands/SearchPlaceIndexForSuggestionsCommand.ts
@@ -0,0 +1,112 @@
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import { 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 { LocationClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LocationClient";
+import { SearchPlaceIndexForSuggestionsRequest, SearchPlaceIndexForSuggestionsResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommand,
+ serializeAws_restJson1SearchPlaceIndexForSuggestionsCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface SearchPlaceIndexForSuggestionsCommandInput extends SearchPlaceIndexForSuggestionsRequest {}
+export interface SearchPlaceIndexForSuggestionsCommandOutput
+ extends SearchPlaceIndexForSuggestionsResponse,
+ __MetadataBearer {}
+
+/**
+ * Generates suggestions for addresses and points of interest based on partial or
+ * misspelled free-form text. This operation is also known as autocomplete, autosuggest,
+ * or fuzzy matching.
+ * Optional parameters let you narrow your search results by bounding box or
+ * country, or bias your search toward a specific position on the globe.
+ *
+ * You can search for suggested place names near a specified position by using BiasPosition
, or
+ * filter results within a bounding box by using FilterBBox
. These parameters are mutually exclusive;
+ * using both BiasPosition
and FilterBBox
in the same command returns an error.
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LocationClient, SearchPlaceIndexForSuggestionsCommand } from "@aws-sdk/client-location"; // ES Modules import
+ * // const { LocationClient, SearchPlaceIndexForSuggestionsCommand } = require("@aws-sdk/client-location"); // CommonJS import
+ * const client = new LocationClient(config);
+ * const command = new SearchPlaceIndexForSuggestionsCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link SearchPlaceIndexForSuggestionsCommandInput} for command's `input` shape.
+ * @see {@link SearchPlaceIndexForSuggestionsCommandOutput} for command's `response` shape.
+ * @see {@link LocationClientResolvedConfig | config} for LocationClient's `config` shape.
+ *
+ */
+export class SearchPlaceIndexForSuggestionsCommand extends $Command<
+ SearchPlaceIndexForSuggestionsCommandInput,
+ SearchPlaceIndexForSuggestionsCommandOutput,
+ LocationClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: SearchPlaceIndexForSuggestionsCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: LocationClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "LocationClient";
+ const commandName = "SearchPlaceIndexForSuggestionsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: SearchPlaceIndexForSuggestionsRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: SearchPlaceIndexForSuggestionsResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: SearchPlaceIndexForSuggestionsCommandInput,
+ context: __SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_restJson1SearchPlaceIndexForSuggestionsCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-location/src/commands/index.ts b/clients/client-location/src/commands/index.ts
index 47c1dab30fba..504192aaf1ac 100644
--- a/clients/client-location/src/commands/index.ts
+++ b/clients/client-location/src/commands/index.ts
@@ -40,6 +40,7 @@ export * from "./ListTrackerConsumersCommand";
export * from "./ListTrackersCommand";
export * from "./PutGeofenceCommand";
export * from "./SearchPlaceIndexForPositionCommand";
+export * from "./SearchPlaceIndexForSuggestionsCommand";
export * from "./SearchPlaceIndexForTextCommand";
export * from "./TagResourceCommand";
export * from "./UntagResourceCommand";
diff --git a/clients/client-location/src/endpoints.ts b/clients/client-location/src/endpoints.ts
index 2b6d402743f9..aeb4effa9e15 100644
--- a/clients/client-location/src/endpoints.ts
+++ b/clients/client-location/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-location/src/models/models_0.ts b/clients/client-location/src/models/models_0.ts
index 046f23bdfbd2..561b122c1137 100644
--- a/clients/client-location/src/models/models_0.ts
+++ b/clients/client-location/src/models/models_0.ts
@@ -377,6 +377,26 @@ export namespace BatchDeleteGeofenceResponse {
});
}
+/**
+ * Defines the level of certainty of the position.
+ */
+export interface PositionalAccuracy {
+ /**
+ * Estimated maximum distance, in meters, between the measured position and the true
+ * position of a device, along the Earth's surface.
+ */
+ Horizontal: number | undefined;
+}
+
+export namespace PositionalAccuracy {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: PositionalAccuracy): any => ({
+ ...obj,
+ });
+}
+
/**
* Contains the position update details for a device.
*/
@@ -398,6 +418,20 @@ export interface DevicePositionUpdate {
* [X or longitude, Y or latitude]
.
*/
Position: number[] | undefined;
+
+ /**
+ * The accuracy of the device position.
+ */
+ Accuracy?: PositionalAccuracy;
+
+ /**
+ * Associates one of more properties with the position update. A property is a key-value
+ * pair stored with the position update and added to any geofence event the update may
+ * trigger.
+ * Format: "key" : "value"
+ *
+ */
+ PositionProperties?: { [key: string]: string };
}
export namespace DevicePositionUpdate {
@@ -407,6 +441,7 @@ export namespace DevicePositionUpdate {
export const filterSensitiveLog = (obj: DevicePositionUpdate): any => ({
...obj,
...(obj.Position && { Position: SENSITIVE_STRING }),
+ ...(obj.PositionProperties && { PositionProperties: SENSITIVE_STRING }),
});
}
@@ -538,6 +573,16 @@ export interface DevicePosition {
* The last known device position.
*/
Position: number[] | undefined;
+
+ /**
+ * The accuracy of the device position.
+ */
+ Accuracy?: PositionalAccuracy;
+
+ /**
+ * The properties associated with the position.
+ */
+ PositionProperties?: { [key: string]: string };
}
export namespace DevicePosition {
@@ -547,6 +592,7 @@ export namespace DevicePosition {
export const filterSensitiveLog = (obj: DevicePosition): any => ({
...obj,
...(obj.Position && { Position: SENSITIVE_STRING }),
+ ...(obj.PositionProperties && { PositionProperties: SENSITIVE_STRING }),
});
}
@@ -1497,11 +1543,12 @@ export interface CreateGeofenceCollectionRequest {
CollectionName: string | undefined;
/**
- * Specifies the pricing plan for the geofence collection.
+ * Optionally specifies the pricing plan for the geofence collection. Defaults to
+ * RequestBasedUsage
.
* For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing
* page.
*/
- PricingPlan: PricingPlan | string | undefined;
+ PricingPlan?: PricingPlan | string;
/**
* Specifies the data provider for the geofence collection.
@@ -1709,10 +1756,11 @@ export interface CreateMapRequest {
Configuration: MapConfiguration | undefined;
/**
- * Specifies the pricing plan for your map resource.
+ * Optionally specifies the pricing plan for the map resource. Defaults to
+ * RequestBasedUsage
.
* For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.
*/
- PricingPlan: PricingPlan | string | undefined;
+ PricingPlan?: PricingPlan | string;
/**
* An optional description for the map resource.
@@ -1895,10 +1943,11 @@ export interface CreatePlaceIndexRequest {
DataSource: string | undefined;
/**
- * Specifies the pricing plan for your place index resource.
+ * Optionally specifies the pricing plan for the place index resource. Defaults to
+ * RequestBasedUsage
.
* For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.
*/
- PricingPlan: PricingPlan | string | undefined;
+ PricingPlan?: PricingPlan | string;
/**
* The optional description for the place index resource.
@@ -2029,10 +2078,11 @@ export interface CreateRouteCalculatorRequest {
DataSource: string | undefined;
/**
- * Specifies the pricing plan for your route calculator resource.
+ * Optionally specifies the pricing plan for the route calculator resource. Defaults to
+ * RequestBasedUsage
.
* For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.
*/
- PricingPlan: PricingPlan | string | undefined;
+ PricingPlan?: PricingPlan | string;
/**
* The optional description for the route calculator resource.
@@ -2152,10 +2202,11 @@ export interface CreateTrackerRequest {
TrackerName: string | undefined;
/**
- * Specifies the pricing plan for the tracker resource.
+ * Optionally specifies the pricing plan for the tracker resource. Defaults to
+ * RequestBasedUsage
.
* For additional details and restrictions on each pricing plan option, see Amazon Location Service pricing.
*/
- PricingPlan: PricingPlan | string | undefined;
+ PricingPlan?: PricingPlan | string;
/**
* A key identifier for an AWS KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.
@@ -2235,6 +2286,17 @@ export interface CreateTrackerRequest {
* Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.
*
*
+ * -
+ *
+ * AccuracyBased
- If the device has moved less than the measured accuracy,
+ * location updates are ignored. For example, if two consecutive updates from a device
+ * have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device
+ * has moved less than 15 m. Ignored location updates are neither evaluated against
+ * linked geofence collections, nor stored. This can reduce the effects of GPS noise
+ * when displaying device trajectories on a map, and can help control your costs by reducing the
+ * number of geofence evaluations.
+ *
+ *
*
* This field is optional. If not specified, the default value is TimeBased
.
*/
@@ -3549,6 +3611,16 @@ export interface GetDevicePositionResponse {
* The last known device position.
*/
Position: number[] | undefined;
+
+ /**
+ * The accuracy of the device position.
+ */
+ Accuracy?: PositionalAccuracy;
+
+ /**
+ * The properties associated with the position.
+ */
+ PositionProperties?: { [key: string]: string };
}
export namespace GetDevicePositionResponse {
@@ -3558,6 +3630,7 @@ export namespace GetDevicePositionResponse {
export const filterSensitiveLog = (obj: GetDevicePositionResponse): any => ({
...obj,
...(obj.Position && { Position: SENSITIVE_STRING }),
+ ...(obj.PositionProperties && { PositionProperties: SENSITIVE_STRING }),
});
}
@@ -3939,6 +4012,16 @@ export interface ListDevicePositionsResponseEntry {
* The last known device position. Empty if no positions currently stored.
*/
Position: number[] | undefined;
+
+ /**
+ * The accuracy of the device position.
+ */
+ Accuracy?: PositionalAccuracy;
+
+ /**
+ * The properties associated with the position.
+ */
+ PositionProperties?: { [key: string]: string };
}
export namespace ListDevicePositionsResponseEntry {
@@ -3948,6 +4031,7 @@ export namespace ListDevicePositionsResponseEntry {
export const filterSensitiveLog = (obj: ListDevicePositionsResponseEntry): any => ({
...obj,
...(obj.Position && { Position: SENSITIVE_STRING }),
+ ...(obj.PositionProperties && { PositionProperties: SENSITIVE_STRING }),
});
}
@@ -4808,6 +4892,206 @@ export namespace SearchPlaceIndexForPositionResponse {
});
}
+export interface SearchPlaceIndexForSuggestionsRequest {
+ /**
+ * The name of the place index resource you want to use for the search.
+ */
+ IndexName: string | undefined;
+
+ /**
+ * The free-form partial text to use to generate place suggestions. For example,
+ * eiffel tow
.
+ */
+ Text: string | undefined;
+
+ /**
+ * An optional parameter that indicates a preference for place suggestions that are closer to a specified position.
+ *
+ * If provided, this parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude;
+ * the second number represents the Y coordinate, or latitude.
+ * For example, [-123.1174, 49.2847]
represents the position with
+ * longitude -123.1174
and
+ * latitude 49.2847
.
+ *
+ *
+ * BiasPosition
and FilterBBox
are mutually exclusive. Specifying both options results in an error.
+ *
+ *
+ */
+ BiasPosition?: number[];
+
+ /**
+ * An optional parameter that limits the search results by returning only suggestions within a specified bounding box.
+ *
+ * If provided, this parameter must contain a total of four consecutive numbers in two pairs.
+ * The first pair of numbers represents the X and Y coordinates (longitude and latitude, respectively)
+ * of the southwest corner of the bounding box; the second pair of numbers represents the X and Y coordinates (longitude and latitude, respectively)
+ * of the northeast corner of the bounding box.
+ * For example, [-12.7935, -37.4835, -12.0684, -36.9542]
represents
+ * a bounding box where the southwest corner has longitude -12.7935
and latitude -37.4835
,
+ * and the northeast corner has longitude -12.0684
and latitude -36.9542
.
+ *
+ *
+ * FilterBBox
and BiasPosition
are mutually exclusive. Specifying both options results in an error.
+ *
+ *
+ */
+ FilterBBox?: number[];
+
+ /**
+ * An optional parameter that limits the search results by returning only suggestions within the provided list of countries.
+ *
+ */
+ FilterCountries?: string[];
+
+ /**
+ * An optional parameter. The maximum number of results returned per request.
+ * The default: 5
+ *
+ */
+ MaxResults?: number;
+
+ /**
+ * The preferred language used to return results. The value must be a valid BCP 47 language tag, for example,
+ * en
for English.
+ * This setting affects the languages used in the results. It does not change which
+ * results are returned. If the language is not specified, or not supported for a
+ * particular result, the partner automatically chooses a language for the result.
+ * Used only when the partner selected is Here.
+ */
+ Language?: string;
+}
+
+export namespace SearchPlaceIndexForSuggestionsRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SearchPlaceIndexForSuggestionsRequest): any => ({
+ ...obj,
+ ...(obj.Text && { Text: SENSITIVE_STRING }),
+ ...(obj.BiasPosition && { BiasPosition: SENSITIVE_STRING }),
+ ...(obj.FilterBBox && { FilterBBox: SENSITIVE_STRING }),
+ });
+}
+
+/**
+ * Contains a place suggestion resulting from a place suggestion query that is run on a place index resource.
+ */
+export interface SearchForSuggestionsResult {
+ /**
+ * The text of the place suggestion, typically formatted as an address string.
+ */
+ Text: string | undefined;
+}
+
+export namespace SearchForSuggestionsResult {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SearchForSuggestionsResult): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * A summary of the request sent by using SearchPlaceIndexForSuggestions
.
+ */
+export interface SearchPlaceIndexForSuggestionsSummary {
+ /**
+ * The free-form partial text input specified in the request.
+ */
+ Text: string | undefined;
+
+ /**
+ * Contains the coordinates for the optional bias position specified in the request.
+ * This parameter contains a pair of numbers. The first number represents the X
+ * coordinate, or longitude; the second number represents the Y coordinate, or latitude.
+ * For example, [-123.1174, 49.2847]
represents the position with
+ * longitude -123.1174
and latitude 49.2847
.
+ */
+ BiasPosition?: number[];
+
+ /**
+ * Contains the coordinates for the optional bounding box specified in the request.
+ */
+ FilterBBox?: number[];
+
+ /**
+ * Contains the optional country filter specified in the request.
+ */
+ FilterCountries?: string[];
+
+ /**
+ * Contains the optional result count limit specified in the request.
+ */
+ MaxResults?: number;
+
+ /**
+ * The geospatial data provider attached to the place index resource specified in the request.
+ * Values can be one of the following:
+ *
+ * -
+ *
Esri
+ *
+ * -
+ *
Here
+ *
+ *
+ * For more information about data providers, see Amazon Location Service data providers.
+ */
+ DataSource: string | undefined;
+
+ /**
+ * The preferred language used to return results. Matches the language in the request.
+ * The value is a valid BCP 47 language tag, for example,
+ * en
for English.
+ */
+ Language?: string;
+}
+
+export namespace SearchPlaceIndexForSuggestionsSummary {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SearchPlaceIndexForSuggestionsSummary): any => ({
+ ...obj,
+ ...(obj.Text && { Text: SENSITIVE_STRING }),
+ ...(obj.BiasPosition && { BiasPosition: SENSITIVE_STRING }),
+ ...(obj.FilterBBox && { FilterBBox: SENSITIVE_STRING }),
+ });
+}
+
+export interface SearchPlaceIndexForSuggestionsResponse {
+ /**
+ * Contains a summary of the request. Echoes the input values for BiasPosition
,
+ * FilterBBox
, FilterCountries
, Language
, MaxResults
,
+ * and Text
. Also includes the DataSource
of the place index.
+ *
+ */
+ Summary: SearchPlaceIndexForSuggestionsSummary | undefined;
+
+ /**
+ * A list of place suggestions that best match the search text.
+ */
+ Results: SearchForSuggestionsResult[] | undefined;
+}
+
+export namespace SearchPlaceIndexForSuggestionsResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: SearchPlaceIndexForSuggestionsResponse): any => ({
+ ...obj,
+ ...(obj.Summary && { Summary: SearchPlaceIndexForSuggestionsSummary.filterSensitiveLog(obj.Summary) }),
+ });
+}
+
export interface SearchPlaceIndexForTextRequest {
/**
* The name of the place index resource you want to use for the search.
@@ -4947,6 +5231,10 @@ export interface SearchPlaceIndexForTextSummary {
/**
* Contains the coordinates for the optional bias position specified in the request.
+ * This parameter contains a pair of numbers. The first number represents the X
+ * coordinate, or longitude; the second number represents the Y coordinate, or latitude.
+ * For example, [-123.1174, 49.2847]
represents the position with
+ * longitude -123.1174
and latitude 49.2847
.
*/
BiasPosition?: number[];
@@ -5217,8 +5505,19 @@ export interface UpdateTrackerRequest {
*
* DistanceBased
- If the device has moved less than 30 m (98.4 ft), location updates are
* ignored. Location updates within this distance are neither evaluated against linked geofence collections, nor stored.
- * This helps control costs by reducing the number of geofence evaluations and device positions to retrieve.
- * Distance-based filtering can also reduce the jitter effect when displaying device trajectory on a map.
+ * This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through.
+ * Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.
+ *
+ *
+ * -
+ *
+ * AccuracyBased
- If the device has moved less than the measured accuracy,
+ * location updates are ignored. For example, if two consecutive updates from a device
+ * have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device
+ * has moved less than 15 m. Ignored location updates are neither evaluated against
+ * linked geofence collections, nor stored. This helps educe the effects of GPS noise
+ * when displaying device trajectories on a map, and can help control costs by reducing the
+ * number of geofence evaluations.
*
*
*
diff --git a/clients/client-location/src/protocols/Aws_restJson1.ts b/clients/client-location/src/protocols/Aws_restJson1.ts
index 68b063fe92db..e315eff28688 100644
--- a/clients/client-location/src/protocols/Aws_restJson1.ts
+++ b/clients/client-location/src/protocols/Aws_restJson1.ts
@@ -127,6 +127,10 @@ import {
SearchPlaceIndexForPositionCommandInput,
SearchPlaceIndexForPositionCommandOutput,
} from "../commands/SearchPlaceIndexForPositionCommand";
+import {
+ SearchPlaceIndexForSuggestionsCommandInput,
+ SearchPlaceIndexForSuggestionsCommandOutput,
+} from "../commands/SearchPlaceIndexForSuggestionsCommand";
import {
SearchPlaceIndexForTextCommandInput,
SearchPlaceIndexForTextCommandOutput,
@@ -176,10 +180,13 @@ import {
MapConfiguration,
Place,
PlaceGeometry,
+ PositionalAccuracy,
ResourceNotFoundException,
SearchForPositionResult,
+ SearchForSuggestionsResult,
SearchForTextResult,
SearchPlaceIndexForPositionSummary,
+ SearchPlaceIndexForSuggestionsSummary,
SearchPlaceIndexForTextSummary,
ServiceQuotaExceededException,
Step,
@@ -1935,6 +1942,58 @@ export const serializeAws_restJson1SearchPlaceIndexForPositionCommand = async (
});
};
+export const serializeAws_restJson1SearchPlaceIndexForSuggestionsCommand = async (
+ input: SearchPlaceIndexForSuggestionsCommandInput,
+ 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 || ""}` +
+ "/places/v0/indexes/{IndexName}/search/suggestions";
+ if (input.IndexName !== undefined) {
+ const labelValue: string = input.IndexName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: IndexName.");
+ }
+ resolvedPath = resolvedPath.replace("{IndexName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: IndexName.");
+ }
+ let body: any;
+ body = JSON.stringify({
+ ...(input.BiasPosition !== undefined &&
+ input.BiasPosition !== null && { BiasPosition: serializeAws_restJson1Position(input.BiasPosition, context) }),
+ ...(input.FilterBBox !== undefined &&
+ input.FilterBBox !== null && { FilterBBox: serializeAws_restJson1BoundingBox(input.FilterBBox, context) }),
+ ...(input.FilterCountries !== undefined &&
+ input.FilterCountries !== null && {
+ FilterCountries: serializeAws_restJson1CountryCodeList(input.FilterCountries, context),
+ }),
+ ...(input.Language !== undefined && input.Language !== null && { Language: input.Language }),
+ ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),
+ ...(input.Text !== undefined && input.Text !== null && { Text: input.Text }),
+ });
+ let { hostname: resolvedHostname } = await context.endpoint();
+ if (context.disableHostPrefix !== true) {
+ resolvedHostname = "places." + resolvedHostname;
+ if (!__isValidHostname(resolvedHostname)) {
+ throw new Error("ValidationError: prefixed hostname must be hostname compatible.");
+ }
+ }
+ return new __HttpRequest({
+ protocol,
+ hostname: resolvedHostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1SearchPlaceIndexForTextCommand = async (
input: SearchPlaceIndexForTextCommandInput,
context: __SerdeContext
@@ -4586,18 +4645,26 @@ export const deserializeAws_restJson1GetDevicePositionCommand = async (
}
const contents: GetDevicePositionCommandOutput = {
$metadata: deserializeMetadata(output),
+ Accuracy: undefined,
DeviceId: undefined,
Position: undefined,
+ PositionProperties: undefined,
ReceivedTime: undefined,
SampleTime: undefined,
};
const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.Accuracy !== undefined && data.Accuracy !== null) {
+ contents.Accuracy = deserializeAws_restJson1PositionalAccuracy(data.Accuracy, context);
+ }
if (data.DeviceId !== undefined && data.DeviceId !== null) {
contents.DeviceId = __expectString(data.DeviceId);
}
if (data.Position !== undefined && data.Position !== null) {
contents.Position = deserializeAws_restJson1Position(data.Position, context);
}
+ if (data.PositionProperties !== undefined && data.PositionProperties !== null) {
+ contents.PositionProperties = deserializeAws_restJson1PropertyMap(data.PositionProperties, context);
+ }
if (data.ReceivedTime !== undefined && data.ReceivedTime !== null) {
contents.ReceivedTime = __expectNonNull(__parseRfc3339DateTime(data.ReceivedTime));
}
@@ -6187,6 +6254,97 @@ const deserializeAws_restJson1SearchPlaceIndexForPositionCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommandError(output, context);
+ }
+ const contents: SearchPlaceIndexForSuggestionsCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ Results: undefined,
+ Summary: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.Results !== undefined && data.Results !== null) {
+ contents.Results = deserializeAws_restJson1SearchForSuggestionsResultList(data.Results, context);
+ }
+ if (data.Summary !== undefined && data.Summary !== null) {
+ contents.Summary = deserializeAws_restJson1SearchPlaceIndexForSuggestionsSummary(data.Summary, context);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1SearchPlaceIndexForSuggestionsCommandError = async (
+ 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.location#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalServerException":
+ case "com.amazonaws.location#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.location#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ThrottlingException":
+ case "com.amazonaws.location#ThrottlingException":
+ response = {
+ ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ValidationException":
+ case "com.amazonaws.location#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_restJson1SearchPlaceIndexForTextCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -7141,9 +7299,15 @@ const serializeAws_restJson1DeviceIdsList = (input: string[], context: __SerdeCo
const serializeAws_restJson1DevicePositionUpdate = (input: DevicePositionUpdate, context: __SerdeContext): any => {
return {
+ ...(input.Accuracy !== undefined &&
+ input.Accuracy !== null && { Accuracy: serializeAws_restJson1PositionalAccuracy(input.Accuracy, context) }),
...(input.DeviceId !== undefined && input.DeviceId !== null && { DeviceId: input.DeviceId }),
...(input.Position !== undefined &&
input.Position !== null && { Position: serializeAws_restJson1Position(input.Position, context) }),
+ ...(input.PositionProperties !== undefined &&
+ input.PositionProperties !== null && {
+ PositionProperties: serializeAws_restJson1PropertyMap(input.PositionProperties, context),
+ }),
...(input.SampleTime !== undefined &&
input.SampleTime !== null && { SampleTime: input.SampleTime.toISOString().split(".")[0] + "Z" }),
};
@@ -7220,6 +7384,25 @@ const serializeAws_restJson1Position = (input: number[], context: __SerdeContext
});
};
+const serializeAws_restJson1PositionalAccuracy = (input: PositionalAccuracy, context: __SerdeContext): any => {
+ return {
+ ...(input.Horizontal !== undefined &&
+ input.Horizontal !== null && { Horizontal: __serializeFloat(input.Horizontal) }),
+ };
+};
+
+const serializeAws_restJson1PropertyMap = (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_restJson1TagMap = (input: { [key: string]: string }, context: __SerdeContext): any => {
return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => {
if (value === null) {
@@ -7521,11 +7704,19 @@ const deserializeAws_restJson1DataSourceConfiguration = (
const deserializeAws_restJson1DevicePosition = (output: any, context: __SerdeContext): DevicePosition => {
return {
+ Accuracy:
+ output.Accuracy !== undefined && output.Accuracy !== null
+ ? deserializeAws_restJson1PositionalAccuracy(output.Accuracy, context)
+ : undefined,
DeviceId: __expectString(output.DeviceId),
Position:
output.Position !== undefined && output.Position !== null
? deserializeAws_restJson1Position(output.Position, context)
: undefined,
+ PositionProperties:
+ output.PositionProperties !== undefined && output.PositionProperties !== null
+ ? deserializeAws_restJson1PropertyMap(output.PositionProperties, context)
+ : undefined,
ReceivedTime:
output.ReceivedTime !== undefined && output.ReceivedTime !== null
? __expectNonNull(__parseRfc3339DateTime(output.ReceivedTime))
@@ -7638,11 +7829,19 @@ const deserializeAws_restJson1ListDevicePositionsResponseEntry = (
context: __SerdeContext
): ListDevicePositionsResponseEntry => {
return {
+ Accuracy:
+ output.Accuracy !== undefined && output.Accuracy !== null
+ ? deserializeAws_restJson1PositionalAccuracy(output.Accuracy, context)
+ : undefined,
DeviceId: __expectString(output.DeviceId),
Position:
output.Position !== undefined && output.Position !== null
? deserializeAws_restJson1Position(output.Position, context)
: undefined,
+ PositionProperties:
+ output.PositionProperties !== undefined && output.PositionProperties !== null
+ ? deserializeAws_restJson1PropertyMap(output.PositionProperties, context)
+ : undefined,
SampleTime:
output.SampleTime !== undefined && output.SampleTime !== null
? __expectNonNull(__parseRfc3339DateTime(output.SampleTime))
@@ -7916,6 +8115,24 @@ const deserializeAws_restJson1Position = (output: any, context: __SerdeContext):
});
};
+const deserializeAws_restJson1PositionalAccuracy = (output: any, context: __SerdeContext): PositionalAccuracy => {
+ return {
+ Horizontal: __limitedParseDouble(output.Horizontal),
+ } as any;
+};
+
+const deserializeAws_restJson1PropertyMap = (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_restJson1SearchForPositionResult = (
output: any,
context: __SerdeContext
@@ -7943,6 +8160,29 @@ const deserializeAws_restJson1SearchForPositionResultList = (
});
};
+const deserializeAws_restJson1SearchForSuggestionsResult = (
+ output: any,
+ context: __SerdeContext
+): SearchForSuggestionsResult => {
+ return {
+ Text: __expectString(output.Text),
+ } as any;
+};
+
+const deserializeAws_restJson1SearchForSuggestionsResultList = (
+ output: any,
+ context: __SerdeContext
+): SearchForSuggestionsResult[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1SearchForSuggestionsResult(entry, context);
+ });
+};
+
const deserializeAws_restJson1SearchForTextResult = (output: any, context: __SerdeContext): SearchForTextResult => {
return {
Distance: __limitedParseDouble(output.Distance),
@@ -7983,6 +8223,30 @@ const deserializeAws_restJson1SearchPlaceIndexForPositionSummary = (
} as any;
};
+const deserializeAws_restJson1SearchPlaceIndexForSuggestionsSummary = (
+ output: any,
+ context: __SerdeContext
+): SearchPlaceIndexForSuggestionsSummary => {
+ return {
+ BiasPosition:
+ output.BiasPosition !== undefined && output.BiasPosition !== null
+ ? deserializeAws_restJson1Position(output.BiasPosition, context)
+ : undefined,
+ DataSource: __expectString(output.DataSource),
+ FilterBBox:
+ output.FilterBBox !== undefined && output.FilterBBox !== null
+ ? deserializeAws_restJson1BoundingBox(output.FilterBBox, context)
+ : undefined,
+ FilterCountries:
+ output.FilterCountries !== undefined && output.FilterCountries !== null
+ ? deserializeAws_restJson1CountryCodeList(output.FilterCountries, context)
+ : undefined,
+ Language: __expectString(output.Language),
+ MaxResults: __expectInt32(output.MaxResults),
+ Text: __expectString(output.Text),
+ } as any;
+};
+
const deserializeAws_restJson1SearchPlaceIndexForTextSummary = (
output: any,
context: __SerdeContext
diff --git a/clients/client-lookoutequipment/src/endpoints.ts b/clients/client-lookoutequipment/src/endpoints.ts
index 30c21a221156..ec17c1e2a065 100644
--- a/clients/client-lookoutequipment/src/endpoints.ts
+++ b/clients/client-lookoutequipment/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-lookoutmetrics/src/LookoutMetrics.ts b/clients/client-lookoutmetrics/src/LookoutMetrics.ts
index 32a8b1552d17..57788eefd726 100644
--- a/clients/client-lookoutmetrics/src/LookoutMetrics.ts
+++ b/clients/client-lookoutmetrics/src/LookoutMetrics.ts
@@ -64,6 +64,11 @@ import {
ListAnomalyDetectorsCommandInput,
ListAnomalyDetectorsCommandOutput,
} from "./commands/ListAnomalyDetectorsCommand";
+import {
+ ListAnomalyGroupRelatedMetricsCommand,
+ ListAnomalyGroupRelatedMetricsCommandInput,
+ ListAnomalyGroupRelatedMetricsCommandOutput,
+} from "./commands/ListAnomalyGroupRelatedMetricsCommand";
import {
ListAnomalyGroupSummariesCommand,
ListAnomalyGroupSummariesCommandInput,
@@ -608,6 +613,39 @@ export class LookoutMetrics extends LookoutMetricsClient {
}
}
+ /**
+ * Returns a list of measures that are potential causes or effects of an
+ * anomaly group.
+ */
+ public listAnomalyGroupRelatedMetrics(
+ args: ListAnomalyGroupRelatedMetricsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listAnomalyGroupRelatedMetrics(
+ args: ListAnomalyGroupRelatedMetricsCommandInput,
+ cb: (err: any, data?: ListAnomalyGroupRelatedMetricsCommandOutput) => void
+ ): void;
+ public listAnomalyGroupRelatedMetrics(
+ args: ListAnomalyGroupRelatedMetricsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListAnomalyGroupRelatedMetricsCommandOutput) => void
+ ): void;
+ public listAnomalyGroupRelatedMetrics(
+ args: ListAnomalyGroupRelatedMetricsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAnomalyGroupRelatedMetricsCommandOutput) => void),
+ cb?: (err: any, data?: ListAnomalyGroupRelatedMetricsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListAnomalyGroupRelatedMetricsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Returns a list of anomaly groups.
*/
diff --git a/clients/client-lookoutmetrics/src/LookoutMetricsClient.ts b/clients/client-lookoutmetrics/src/LookoutMetricsClient.ts
index 40ec646eef72..144c04173b6e 100644
--- a/clients/client-lookoutmetrics/src/LookoutMetricsClient.ts
+++ b/clients/client-lookoutmetrics/src/LookoutMetricsClient.ts
@@ -86,6 +86,10 @@ import {
ListAnomalyDetectorsCommandInput,
ListAnomalyDetectorsCommandOutput,
} from "./commands/ListAnomalyDetectorsCommand";
+import {
+ ListAnomalyGroupRelatedMetricsCommandInput,
+ ListAnomalyGroupRelatedMetricsCommandOutput,
+} from "./commands/ListAnomalyGroupRelatedMetricsCommand";
import {
ListAnomalyGroupSummariesCommandInput,
ListAnomalyGroupSummariesCommandOutput,
@@ -126,6 +130,7 @@ export type ServiceInputTypes =
| GetSampleDataCommandInput
| ListAlertsCommandInput
| ListAnomalyDetectorsCommandInput
+ | ListAnomalyGroupRelatedMetricsCommandInput
| ListAnomalyGroupSummariesCommandInput
| ListAnomalyGroupTimeSeriesCommandInput
| ListMetricSetsCommandInput
@@ -153,6 +158,7 @@ export type ServiceOutputTypes =
| GetSampleDataCommandOutput
| ListAlertsCommandOutput
| ListAnomalyDetectorsCommandOutput
+ | ListAnomalyGroupRelatedMetricsCommandOutput
| ListAnomalyGroupSummariesCommandOutput
| ListAnomalyGroupTimeSeriesCommandOutput
| ListMetricSetsCommandOutput
diff --git a/clients/client-lookoutmetrics/src/commands/ListAnomalyGroupRelatedMetricsCommand.ts b/clients/client-lookoutmetrics/src/commands/ListAnomalyGroupRelatedMetricsCommand.ts
new file mode 100644
index 000000000000..c156b8e04589
--- /dev/null
+++ b/clients/client-lookoutmetrics/src/commands/ListAnomalyGroupRelatedMetricsCommand.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 { LookoutMetricsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LookoutMetricsClient";
+import { ListAnomalyGroupRelatedMetricsRequest, ListAnomalyGroupRelatedMetricsResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ListAnomalyGroupRelatedMetricsCommand,
+ serializeAws_restJson1ListAnomalyGroupRelatedMetricsCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ListAnomalyGroupRelatedMetricsCommandInput extends ListAnomalyGroupRelatedMetricsRequest {}
+export interface ListAnomalyGroupRelatedMetricsCommandOutput
+ extends ListAnomalyGroupRelatedMetricsResponse,
+ __MetadataBearer {}
+
+/**
+ * Returns a list of measures that are potential causes or effects of an
+ * anomaly group.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LookoutMetricsClient, ListAnomalyGroupRelatedMetricsCommand } from "@aws-sdk/client-lookoutmetrics"; // ES Modules import
+ * // const { LookoutMetricsClient, ListAnomalyGroupRelatedMetricsCommand } = require("@aws-sdk/client-lookoutmetrics"); // CommonJS import
+ * const client = new LookoutMetricsClient(config);
+ * const command = new ListAnomalyGroupRelatedMetricsCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ListAnomalyGroupRelatedMetricsCommandInput} for command's `input` shape.
+ * @see {@link ListAnomalyGroupRelatedMetricsCommandOutput} for command's `response` shape.
+ * @see {@link LookoutMetricsClientResolvedConfig | config} for LookoutMetricsClient's `config` shape.
+ *
+ */
+export class ListAnomalyGroupRelatedMetricsCommand extends $Command<
+ ListAnomalyGroupRelatedMetricsCommandInput,
+ ListAnomalyGroupRelatedMetricsCommandOutput,
+ LookoutMetricsClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ListAnomalyGroupRelatedMetricsCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: LookoutMetricsClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "LookoutMetricsClient";
+ const commandName = "ListAnomalyGroupRelatedMetricsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ListAnomalyGroupRelatedMetricsRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ListAnomalyGroupRelatedMetricsResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: ListAnomalyGroupRelatedMetricsCommandInput,
+ context: __SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_restJson1ListAnomalyGroupRelatedMetricsCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return deserializeAws_restJson1ListAnomalyGroupRelatedMetricsCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-lookoutmetrics/src/commands/index.ts b/clients/client-lookoutmetrics/src/commands/index.ts
index c11dd88f712a..89c29c67fecf 100644
--- a/clients/client-lookoutmetrics/src/commands/index.ts
+++ b/clients/client-lookoutmetrics/src/commands/index.ts
@@ -14,6 +14,7 @@ export * from "./GetFeedbackCommand";
export * from "./GetSampleDataCommand";
export * from "./ListAlertsCommand";
export * from "./ListAnomalyDetectorsCommand";
+export * from "./ListAnomalyGroupRelatedMetricsCommand";
export * from "./ListAnomalyGroupSummariesCommand";
export * from "./ListAnomalyGroupTimeSeriesCommand";
export * from "./ListMetricSetsCommand";
diff --git a/clients/client-lookoutmetrics/src/endpoints.ts b/clients/client-lookoutmetrics/src/endpoints.ts
index 35c0d8044401..49d4cfec2599 100644
--- a/clients/client-lookoutmetrics/src/endpoints.ts
+++ b/clients/client-lookoutmetrics/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-lookoutmetrics/src/models/models_0.ts b/clients/client-lookoutmetrics/src/models/models_0.ts
index cb58340a4f9c..78dd37b0cbea 100644
--- a/clients/client-lookoutmetrics/src/models/models_0.ts
+++ b/clients/client-lookoutmetrics/src/models/models_0.ts
@@ -2001,6 +2001,50 @@ export namespace GetSampleDataResponse {
});
}
+export enum RelationshipType {
+ CAUSE_OF_INPUT_ANOMALY_GROUP = "CAUSE_OF_INPUT_ANOMALY_GROUP",
+ EFFECT_OF_INPUT_ANOMALY_GROUP = "EFFECT_OF_INPUT_ANOMALY_GROUP",
+}
+
+/**
+ * Aggregated details about the measures contributing to the anomaly group, and the measures
+ * potentially impacted by the anomaly group.
+ *
+ */
+export interface InterMetricImpactDetails {
+ /**
+ * The name of the measure.
+ */
+ MetricName?: string;
+
+ /**
+ * The ID of the anomaly group.
+ */
+ AnomalyGroupId?: string;
+
+ /**
+ * Whether a measure is a potential cause of the anomaly group
+ * (CAUSE_OF_INPUT_ANOMALY_GROUP
), or whether the measure is impacted by the
+ * anomaly group (EFFECT_OF_INPUT_ANOMALY_GROUP
).
+ */
+ RelationshipType?: RelationshipType | string;
+
+ /**
+ * For potential causes (CAUSE_OF_INPUT_ANOMALY_GROUP
), the percentage
+ * contribution the measure has in causing the anomalies.
+ */
+ ContributionPercentage?: number;
+}
+
+export namespace InterMetricImpactDetails {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: InterMetricImpactDetails): any => ({
+ ...obj,
+ });
+}
+
export interface ListAlertsRequest {
/**
* The ARN of the alert's detector.
@@ -2094,6 +2138,66 @@ export namespace ListAnomalyDetectorsResponse {
});
}
+export interface ListAnomalyGroupRelatedMetricsRequest {
+ /**
+ * The Amazon Resource Name (ARN) of the anomaly detector.
+ */
+ AnomalyDetectorArn: string | undefined;
+
+ /**
+ * The ID of the anomaly group.
+ */
+ AnomalyGroupId: string | undefined;
+
+ /**
+ * Filter for potential causes (CAUSE_OF_INPUT_ANOMALY_GROUP
) or
+ * downstream effects (EFFECT_OF_INPUT_ANOMALY_GROUP
) of the anomaly group.
+ */
+ RelationshipTypeFilter?: RelationshipType | string;
+
+ /**
+ * The maximum number of results to return.
+ */
+ MaxResults?: number;
+
+ /**
+ * Specify the pagination token that's returned by a previous request to retrieve the next
+ * page of results.
+ */
+ NextToken?: string;
+}
+
+export namespace ListAnomalyGroupRelatedMetricsRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListAnomalyGroupRelatedMetricsRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface ListAnomalyGroupRelatedMetricsResponse {
+ /**
+ * Aggregated details about the measures contributing to the anomaly group, and the measures
+ * potentially impacted by the anomaly group.
+ */
+ InterMetricImpactList?: InterMetricImpactDetails[];
+
+ /**
+ * The pagination token that's included if more results are available.
+ */
+ NextToken?: string;
+}
+
+export namespace ListAnomalyGroupRelatedMetricsResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListAnomalyGroupRelatedMetricsResponse): any => ({
+ ...obj,
+ });
+}
+
export interface ListAnomalyGroupSummariesRequest {
/**
* The Amazon Resource Name (ARN) of the anomaly detector.
diff --git a/clients/client-lookoutmetrics/src/pagination/ListAnomalyGroupRelatedMetricsPaginator.ts b/clients/client-lookoutmetrics/src/pagination/ListAnomalyGroupRelatedMetricsPaginator.ts
new file mode 100644
index 000000000000..f8a9cc3ef616
--- /dev/null
+++ b/clients/client-lookoutmetrics/src/pagination/ListAnomalyGroupRelatedMetricsPaginator.ts
@@ -0,0 +1,59 @@
+import { Paginator } from "@aws-sdk/types";
+
+import {
+ ListAnomalyGroupRelatedMetricsCommand,
+ ListAnomalyGroupRelatedMetricsCommandInput,
+ ListAnomalyGroupRelatedMetricsCommandOutput,
+} from "../commands/ListAnomalyGroupRelatedMetricsCommand";
+import { LookoutMetrics } from "../LookoutMetrics";
+import { LookoutMetricsClient } from "../LookoutMetricsClient";
+import { LookoutMetricsPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @private
+ */
+const makePagedClientRequest = async (
+ client: LookoutMetricsClient,
+ input: ListAnomalyGroupRelatedMetricsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListAnomalyGroupRelatedMetricsCommand(input), ...args);
+};
+/**
+ * @private
+ */
+const makePagedRequest = async (
+ client: LookoutMetrics,
+ input: ListAnomalyGroupRelatedMetricsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.listAnomalyGroupRelatedMetrics(input, ...args);
+};
+export async function* paginateListAnomalyGroupRelatedMetrics(
+ config: LookoutMetricsPaginationConfiguration,
+ input: ListAnomalyGroupRelatedMetricsCommandInput,
+ ...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: ListAnomalyGroupRelatedMetricsCommandOutput;
+ while (hasNext) {
+ input.NextToken = token;
+ input["MaxResults"] = config.pageSize;
+ if (config.client instanceof LookoutMetrics) {
+ page = await makePagedRequest(config.client, input, ...additionalArguments);
+ } else if (config.client instanceof LookoutMetricsClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected LookoutMetrics | LookoutMetricsClient");
+ }
+ yield page;
+ token = page.NextToken;
+ hasNext = !!token;
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-lookoutmetrics/src/pagination/index.ts b/clients/client-lookoutmetrics/src/pagination/index.ts
index f2270e9f5dea..5a46a2c895ba 100644
--- a/clients/client-lookoutmetrics/src/pagination/index.ts
+++ b/clients/client-lookoutmetrics/src/pagination/index.ts
@@ -3,6 +3,7 @@ export * from "./GetFeedbackPaginator";
export * from "./Interfaces";
export * from "./ListAlertsPaginator";
export * from "./ListAnomalyDetectorsPaginator";
+export * from "./ListAnomalyGroupRelatedMetricsPaginator";
export * from "./ListAnomalyGroupSummariesPaginator";
export * from "./ListAnomalyGroupTimeSeriesPaginator";
export * from "./ListMetricSetsPaginator";
diff --git a/clients/client-lookoutmetrics/src/protocols/Aws_restJson1.ts b/clients/client-lookoutmetrics/src/protocols/Aws_restJson1.ts
index 9157e1e66bf5..5defe950ec43 100644
--- a/clients/client-lookoutmetrics/src/protocols/Aws_restJson1.ts
+++ b/clients/client-lookoutmetrics/src/protocols/Aws_restJson1.ts
@@ -55,6 +55,10 @@ import {
ListAnomalyDetectorsCommandInput,
ListAnomalyDetectorsCommandOutput,
} from "../commands/ListAnomalyDetectorsCommand";
+import {
+ ListAnomalyGroupRelatedMetricsCommandInput,
+ ListAnomalyGroupRelatedMetricsCommandOutput,
+} from "../commands/ListAnomalyGroupRelatedMetricsCommand";
import {
ListAnomalyGroupSummariesCommandInput,
ListAnomalyGroupSummariesCommandOutput,
@@ -99,6 +103,7 @@ import {
DimensionValueContribution,
ExecutionStatus,
FileFormatDescriptor,
+ InterMetricImpactDetails,
InternalServerException,
ItemizedMetricStats,
JsonFormatDescriptor,
@@ -578,6 +583,38 @@ export const serializeAws_restJson1ListAnomalyDetectorsCommand = async (
});
};
+export const serializeAws_restJson1ListAnomalyGroupRelatedMetricsCommand = async (
+ input: ListAnomalyGroupRelatedMetricsCommandInput,
+ 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 || ""}` + "/ListAnomalyGroupRelatedMetrics";
+ let body: any;
+ body = JSON.stringify({
+ ...(input.AnomalyDetectorArn !== undefined &&
+ input.AnomalyDetectorArn !== null && { AnomalyDetectorArn: input.AnomalyDetectorArn }),
+ ...(input.AnomalyGroupId !== undefined &&
+ input.AnomalyGroupId !== null && { AnomalyGroupId: input.AnomalyGroupId }),
+ ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),
+ ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),
+ ...(input.RelationshipTypeFilter !== undefined &&
+ input.RelationshipTypeFilter !== null && { RelationshipTypeFilter: input.RelationshipTypeFilter }),
+ });
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1ListAnomalyGroupSummariesCommand = async (
input: ListAnomalyGroupSummariesCommandInput,
context: __SerdeContext
@@ -2405,6 +2442,97 @@ const deserializeAws_restJson1ListAnomalyDetectorsCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1ListAnomalyGroupRelatedMetricsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ListAnomalyGroupRelatedMetricsCommandError(output, context);
+ }
+ const contents: ListAnomalyGroupRelatedMetricsCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ InterMetricImpactList: undefined,
+ NextToken: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.InterMetricImpactList !== undefined && data.InterMetricImpactList !== null) {
+ contents.InterMetricImpactList = deserializeAws_restJson1InterMetricImpactList(data.InterMetricImpactList, context);
+ }
+ if (data.NextToken !== undefined && data.NextToken !== null) {
+ contents.NextToken = __expectString(data.NextToken);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ListAnomalyGroupRelatedMetricsCommandError = async (
+ 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.lookoutmetrics#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalServerException":
+ case "com.amazonaws.lookoutmetrics#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.lookoutmetrics#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "TooManyRequestsException":
+ case "com.amazonaws.lookoutmetrics#TooManyRequestsException":
+ response = {
+ ...(await deserializeAws_restJson1TooManyRequestsExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ValidationException":
+ case "com.amazonaws.lookoutmetrics#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_restJson1ListAnomalyGroupSummariesCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -3987,6 +4115,32 @@ const deserializeAws_restJson1HistoricalDataPathList = (output: any, context: __
});
};
+const deserializeAws_restJson1InterMetricImpactDetails = (
+ output: any,
+ context: __SerdeContext
+): InterMetricImpactDetails => {
+ return {
+ AnomalyGroupId: __expectString(output.AnomalyGroupId),
+ ContributionPercentage: __limitedParseDouble(output.ContributionPercentage),
+ MetricName: __expectString(output.MetricName),
+ RelationshipType: __expectString(output.RelationshipType),
+ } as any;
+};
+
+const deserializeAws_restJson1InterMetricImpactList = (
+ output: any,
+ context: __SerdeContext
+): InterMetricImpactDetails[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1InterMetricImpactDetails(entry, context);
+ });
+};
+
const deserializeAws_restJson1ItemizedMetricStats = (output: any, context: __SerdeContext): ItemizedMetricStats => {
return {
MetricName: __expectString(output.MetricName),
diff --git a/clients/client-lookoutvision/src/LookoutVision.ts b/clients/client-lookoutvision/src/LookoutVision.ts
index 449dc0e10be0..c6b6a274dd9f 100644
--- a/clients/client-lookoutvision/src/LookoutVision.ts
+++ b/clients/client-lookoutvision/src/LookoutVision.ts
@@ -32,6 +32,11 @@ import {
DescribeModelCommandInput,
DescribeModelCommandOutput,
} from "./commands/DescribeModelCommand";
+import {
+ DescribeModelPackagingJobCommand,
+ DescribeModelPackagingJobCommandInput,
+ DescribeModelPackagingJobCommandOutput,
+} from "./commands/DescribeModelPackagingJobCommand";
import {
DescribeProjectCommand,
DescribeProjectCommandInput,
@@ -47,6 +52,11 @@ import {
ListDatasetEntriesCommandInput,
ListDatasetEntriesCommandOutput,
} from "./commands/ListDatasetEntriesCommand";
+import {
+ ListModelPackagingJobsCommand,
+ ListModelPackagingJobsCommandInput,
+ ListModelPackagingJobsCommandOutput,
+} from "./commands/ListModelPackagingJobsCommand";
import { ListModelsCommand, ListModelsCommandInput, ListModelsCommandOutput } from "./commands/ListModelsCommand";
import {
ListProjectsCommand,
@@ -59,6 +69,11 @@ import {
ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
import { StartModelCommand, StartModelCommandInput, StartModelCommandOutput } from "./commands/StartModelCommand";
+import {
+ StartModelPackagingJobCommand,
+ StartModelPackagingJobCommandInput,
+ StartModelPackagingJobCommandOutput,
+} from "./commands/StartModelPackagingJobCommand";
import { StopModelCommand, StopModelCommandInput, StopModelCommandOutput } from "./commands/StopModelCommand";
import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
import {
@@ -248,8 +263,9 @@ export class LookoutVision extends LookoutVisionClient {
* Deletes an Amazon Lookout for Vision model. You can't delete a running model. To stop a running model,
* use the StopModel operation.
* It might take a few seconds to delete a model. To determine if a model has been deleted, call
- * ListProjects and check if the version of the model (ModelVersion
) is in the
+ * ListModels and check if the version of the model (ModelVersion
) is in the
* Models
array.
+ *
* This operation requires permissions to perform the
* lookoutvision:DeleteModel
operation.
*/
@@ -383,6 +399,44 @@ export class LookoutVision extends LookoutVisionClient {
}
}
+ /**
+ * Describes an Amazon Lookout for Vision model packaging job.
+ *
+ * This operation requires permissions to perform the
+ * lookoutvision:DescribeModelPackagingJob
operation.
+ *
+ * For more information, see
+ * Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.
+ */
+ public describeModelPackagingJob(
+ args: DescribeModelPackagingJobCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public describeModelPackagingJob(
+ args: DescribeModelPackagingJobCommandInput,
+ cb: (err: any, data?: DescribeModelPackagingJobCommandOutput) => void
+ ): void;
+ public describeModelPackagingJob(
+ args: DescribeModelPackagingJobCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DescribeModelPackagingJobCommandOutput) => void
+ ): void;
+ public describeModelPackagingJob(
+ args: DescribeModelPackagingJobCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeModelPackagingJobCommandOutput) => void),
+ cb?: (err: any, data?: DescribeModelPackagingJobCommandOutput) => void
+ ): Promise | void {
+ const command = new DescribeModelPackagingJobCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 an Amazon Lookout for Vision project.
* This operation requires permissions to perform the
@@ -493,8 +547,51 @@ export class LookoutVision extends LookoutVisionClient {
}
}
+ /**
+ *
+ * Lists the model packaging jobs created for an Amazon Lookout for Vision project.
+ *
+ * This operation requires permissions to perform the
+ * lookoutvision:ListModelPackagingJobs
operation.
+ *
+ *
+ * For more information, see
+ * Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.
+ */
+ public listModelPackagingJobs(
+ args: ListModelPackagingJobsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listModelPackagingJobs(
+ args: ListModelPackagingJobsCommandInput,
+ cb: (err: any, data?: ListModelPackagingJobsCommandOutput) => void
+ ): void;
+ public listModelPackagingJobs(
+ args: ListModelPackagingJobsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListModelPackagingJobsCommandOutput) => void
+ ): void;
+ public listModelPackagingJobs(
+ args: ListModelPackagingJobsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListModelPackagingJobsCommandOutput) => void),
+ cb?: (err: any, data?: ListModelPackagingJobsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListModelPackagingJobsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 versions of a model in an Amazon Lookout for Vision project.
+ * The ListModels
operation is eventually consistent.
+ * Recent calls to CreateModel
might
+ * take a while to appear in the response from ListProjects
.
* This operation requires permissions to perform the
* lookoutvision:ListModels
operation.
*/
@@ -523,6 +620,9 @@ export class LookoutVision extends LookoutVisionClient {
/**
* Lists the Amazon Lookout for Vision projects in your AWS account.
+ * The ListProjects
operation is eventually consistent.
+ * Recent calls to CreateProject
and DeleteProject
might
+ * take a while to appear in the response from ListProjects
.
* This operation requires permissions to perform the
* lookoutvision:ListProjects
operation.
*/
@@ -622,6 +722,83 @@ export class LookoutVision extends LookoutVisionClient {
}
}
+ /**
+ * Starts an Amazon Lookout for Vision model packaging job. A model packaging job creates an AWS IoT Greengrass component for
+ * a Lookout for Vision model. You can use the component to deploy your model to an edge device managed by Greengrass.
+ *
+ *
+ * Use the DescribeModelPackagingJob API to determine the current status of the job.
+ *
+ * The model packaging job is complete if the value of Status
is SUCCEEDED
.
+ * To deploy the component
+ * to the target device, use the component name and component version
+ * with the AWS IoT Greengrass CreateDeployment API.
+ *
+ * This operation requires the following permissions:
+ *
+ * -
+ *
+ * lookoutvision:StartModelPackagingJobs
+ *
+ *
+ * -
+ *
+ * s3:PutObject
+ *
+ *
+ * -
+ *
+ * s3:GetBucketLocation
+ *
+ *
+ * -
+ *
+ * greengrass:CreateComponentVersion
+ *
+ *
+ * -
+ *
+ * greengrass:DescribeComponent
+ *
+ *
+ * -
+ *
(Optional) greengrass:TagResource
. Only required if you want to tag the component.
+ *
+ *
+ *
+ *
+ * For more information, see
+ * Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.
+ */
+ public startModelPackagingJob(
+ args: StartModelPackagingJobCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public startModelPackagingJob(
+ args: StartModelPackagingJobCommandInput,
+ cb: (err: any, data?: StartModelPackagingJobCommandOutput) => void
+ ): void;
+ public startModelPackagingJob(
+ args: StartModelPackagingJobCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: StartModelPackagingJobCommandOutput) => void
+ ): void;
+ public startModelPackagingJob(
+ args: StartModelPackagingJobCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartModelPackagingJobCommandOutput) => void),
+ cb?: (err: any, data?: StartModelPackagingJobCommandOutput) => void
+ ): Promise | void {
+ const command = new StartModelPackagingJobCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 the hosting of a running model. The operation might take a while to complete. To
* check the current status, call DescribeModel.
@@ -717,10 +894,21 @@ export class LookoutVision extends LookoutVisionClient {
}
/**
- * Adds one or more JSON Line entries to a dataset. A JSON Line includes information about an image
- * used for training or testing an Amazon Lookout for Vision model. The following is an example JSON Line.
+ * Adds or updates one or more JSON Line entries in a dataset. A JSON Line includes information about an image
+ * used for training or testing an Amazon Lookout for Vision model.
+ * To update an existing JSON Line, use the source-ref
field to identify the JSON Line. The JSON line
+ * that you supply replaces the existing JSON line. Any existing annotations that are not in the new JSON line are removed from the dataset.
+ *
*
*
+ * For more information, see
+ * Defining JSON lines for anomaly classification in the Amazon Lookout for Vision Developer Guide.
+ *
+ *
+ * The images you reference in the source-ref
field of a JSON line, must be
+ * in the same S3 bucket as the existing images in the dataset.
+ *
+ *
* Updating a dataset might take a while to complete. To check the current status, call DescribeDataset and
* check the Status
field in the response.
* This operation requires permissions to perform the
diff --git a/clients/client-lookoutvision/src/LookoutVisionClient.ts b/clients/client-lookoutvision/src/LookoutVisionClient.ts
index d5a800da8319..f66a0cc96710 100644
--- a/clients/client-lookoutvision/src/LookoutVisionClient.ts
+++ b/clients/client-lookoutvision/src/LookoutVisionClient.ts
@@ -57,9 +57,17 @@ import { DeleteModelCommandInput, DeleteModelCommandOutput } from "./commands/De
import { DeleteProjectCommandInput, DeleteProjectCommandOutput } from "./commands/DeleteProjectCommand";
import { DescribeDatasetCommandInput, DescribeDatasetCommandOutput } from "./commands/DescribeDatasetCommand";
import { DescribeModelCommandInput, DescribeModelCommandOutput } from "./commands/DescribeModelCommand";
+import {
+ DescribeModelPackagingJobCommandInput,
+ DescribeModelPackagingJobCommandOutput,
+} from "./commands/DescribeModelPackagingJobCommand";
import { DescribeProjectCommandInput, DescribeProjectCommandOutput } from "./commands/DescribeProjectCommand";
import { DetectAnomaliesCommandInput, DetectAnomaliesCommandOutput } from "./commands/DetectAnomaliesCommand";
import { ListDatasetEntriesCommandInput, ListDatasetEntriesCommandOutput } from "./commands/ListDatasetEntriesCommand";
+import {
+ ListModelPackagingJobsCommandInput,
+ ListModelPackagingJobsCommandOutput,
+} from "./commands/ListModelPackagingJobsCommand";
import { ListModelsCommandInput, ListModelsCommandOutput } from "./commands/ListModelsCommand";
import { ListProjectsCommandInput, ListProjectsCommandOutput } from "./commands/ListProjectsCommand";
import {
@@ -67,6 +75,10 @@ import {
ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
import { StartModelCommandInput, StartModelCommandOutput } from "./commands/StartModelCommand";
+import {
+ StartModelPackagingJobCommandInput,
+ StartModelPackagingJobCommandOutput,
+} from "./commands/StartModelPackagingJobCommand";
import { StopModelCommandInput, StopModelCommandOutput } from "./commands/StopModelCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
@@ -85,13 +97,16 @@ export type ServiceInputTypes =
| DeleteProjectCommandInput
| DescribeDatasetCommandInput
| DescribeModelCommandInput
+ | DescribeModelPackagingJobCommandInput
| DescribeProjectCommandInput
| DetectAnomaliesCommandInput
| ListDatasetEntriesCommandInput
+ | ListModelPackagingJobsCommandInput
| ListModelsCommandInput
| ListProjectsCommandInput
| ListTagsForResourceCommandInput
| StartModelCommandInput
+ | StartModelPackagingJobCommandInput
| StopModelCommandInput
| TagResourceCommandInput
| UntagResourceCommandInput
@@ -106,13 +121,16 @@ export type ServiceOutputTypes =
| DeleteProjectCommandOutput
| DescribeDatasetCommandOutput
| DescribeModelCommandOutput
+ | DescribeModelPackagingJobCommandOutput
| DescribeProjectCommandOutput
| DetectAnomaliesCommandOutput
| ListDatasetEntriesCommandOutput
+ | ListModelPackagingJobsCommandOutput
| ListModelsCommandOutput
| ListProjectsCommandOutput
| ListTagsForResourceCommandOutput
| StartModelCommandOutput
+ | StartModelPackagingJobCommandOutput
| StopModelCommandOutput
| TagResourceCommandOutput
| UntagResourceCommandOutput
diff --git a/clients/client-lookoutvision/src/commands/DeleteModelCommand.ts b/clients/client-lookoutvision/src/commands/DeleteModelCommand.ts
index 729f535cb800..1195977363c4 100644
--- a/clients/client-lookoutvision/src/commands/DeleteModelCommand.ts
+++ b/clients/client-lookoutvision/src/commands/DeleteModelCommand.ts
@@ -25,8 +25,9 @@ export interface DeleteModelCommandOutput extends DeleteModelResponse, __Metadat
*
Deletes an Amazon Lookout for Vision model. You can't delete a running model. To stop a running model,
* use the StopModel operation.
* It might take a few seconds to delete a model. To determine if a model has been deleted, call
- * ListProjects and check if the version of the model (ModelVersion
) is in the
+ * ListModels and check if the version of the model (ModelVersion
) is in the
* Models
array.
+ *
* This operation requires permissions to perform the
* lookoutvision:DeleteModel
operation.
* @example
diff --git a/clients/client-lookoutvision/src/commands/DescribeModelPackagingJobCommand.ts b/clients/client-lookoutvision/src/commands/DescribeModelPackagingJobCommand.ts
new file mode 100644
index 000000000000..40f1d752c011
--- /dev/null
+++ b/clients/client-lookoutvision/src/commands/DescribeModelPackagingJobCommand.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 { LookoutVisionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LookoutVisionClient";
+import { DescribeModelPackagingJobRequest, DescribeModelPackagingJobResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1DescribeModelPackagingJobCommand,
+ serializeAws_restJson1DescribeModelPackagingJobCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface DescribeModelPackagingJobCommandInput extends DescribeModelPackagingJobRequest {}
+export interface DescribeModelPackagingJobCommandOutput extends DescribeModelPackagingJobResponse, __MetadataBearer {}
+
+/**
+ * Describes an Amazon Lookout for Vision model packaging job.
+ *
+ * This operation requires permissions to perform the
+ * lookoutvision:DescribeModelPackagingJob
operation.
+ *
+ * For more information, see
+ * Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LookoutVisionClient, DescribeModelPackagingJobCommand } from "@aws-sdk/client-lookoutvision"; // ES Modules import
+ * // const { LookoutVisionClient, DescribeModelPackagingJobCommand } = require("@aws-sdk/client-lookoutvision"); // CommonJS import
+ * const client = new LookoutVisionClient(config);
+ * const command = new DescribeModelPackagingJobCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link DescribeModelPackagingJobCommandInput} for command's `input` shape.
+ * @see {@link DescribeModelPackagingJobCommandOutput} for command's `response` shape.
+ * @see {@link LookoutVisionClientResolvedConfig | config} for LookoutVisionClient's `config` shape.
+ *
+ */
+export class DescribeModelPackagingJobCommand extends $Command<
+ DescribeModelPackagingJobCommandInput,
+ DescribeModelPackagingJobCommandOutput,
+ LookoutVisionClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DescribeModelPackagingJobCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: LookoutVisionClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "LookoutVisionClient";
+ const commandName = "DescribeModelPackagingJobCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: DescribeModelPackagingJobRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: DescribeModelPackagingJobResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: DescribeModelPackagingJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1DescribeModelPackagingJobCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return deserializeAws_restJson1DescribeModelPackagingJobCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-lookoutvision/src/commands/ListModelPackagingJobsCommand.ts b/clients/client-lookoutvision/src/commands/ListModelPackagingJobsCommand.ts
new file mode 100644
index 000000000000..71b5e69e338f
--- /dev/null
+++ b/clients/client-lookoutvision/src/commands/ListModelPackagingJobsCommand.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 { LookoutVisionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LookoutVisionClient";
+import { ListModelPackagingJobsRequest, ListModelPackagingJobsResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1ListModelPackagingJobsCommand,
+ serializeAws_restJson1ListModelPackagingJobsCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface ListModelPackagingJobsCommandInput extends ListModelPackagingJobsRequest {}
+export interface ListModelPackagingJobsCommandOutput extends ListModelPackagingJobsResponse, __MetadataBearer {}
+
+/**
+ *
+ * Lists the model packaging jobs created for an Amazon Lookout for Vision project.
+ *
+ * This operation requires permissions to perform the
+ * lookoutvision:ListModelPackagingJobs
operation.
+ *
+ *
+ * For more information, see
+ * Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LookoutVisionClient, ListModelPackagingJobsCommand } from "@aws-sdk/client-lookoutvision"; // ES Modules import
+ * // const { LookoutVisionClient, ListModelPackagingJobsCommand } = require("@aws-sdk/client-lookoutvision"); // CommonJS import
+ * const client = new LookoutVisionClient(config);
+ * const command = new ListModelPackagingJobsCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link ListModelPackagingJobsCommandInput} for command's `input` shape.
+ * @see {@link ListModelPackagingJobsCommandOutput} for command's `response` shape.
+ * @see {@link LookoutVisionClientResolvedConfig | config} for LookoutVisionClient's `config` shape.
+ *
+ */
+export class ListModelPackagingJobsCommand extends $Command<
+ ListModelPackagingJobsCommandInput,
+ ListModelPackagingJobsCommandOutput,
+ LookoutVisionClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: ListModelPackagingJobsCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: LookoutVisionClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "LookoutVisionClient";
+ const commandName = "ListModelPackagingJobsCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: ListModelPackagingJobsRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: ListModelPackagingJobsResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: ListModelPackagingJobsCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1ListModelPackagingJobsCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1ListModelPackagingJobsCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-lookoutvision/src/commands/ListModelsCommand.ts b/clients/client-lookoutvision/src/commands/ListModelsCommand.ts
index 93264f5ba225..295c7785485e 100644
--- a/clients/client-lookoutvision/src/commands/ListModelsCommand.ts
+++ b/clients/client-lookoutvision/src/commands/ListModelsCommand.ts
@@ -23,6 +23,9 @@ export interface ListModelsCommandOutput extends ListModelsResponse, __MetadataB
/**
* Lists the versions of a model in an Amazon Lookout for Vision project.
+ * The ListModels
operation is eventually consistent.
+ * Recent calls to CreateModel
might
+ * take a while to appear in the response from ListProjects
.
* This operation requires permissions to perform the
* lookoutvision:ListModels
operation.
* @example
diff --git a/clients/client-lookoutvision/src/commands/ListProjectsCommand.ts b/clients/client-lookoutvision/src/commands/ListProjectsCommand.ts
index a411014d6dd3..44e5f7413d84 100644
--- a/clients/client-lookoutvision/src/commands/ListProjectsCommand.ts
+++ b/clients/client-lookoutvision/src/commands/ListProjectsCommand.ts
@@ -23,6 +23,9 @@ export interface ListProjectsCommandOutput extends ListProjectsResponse, __Metad
/**
* Lists the Amazon Lookout for Vision projects in your AWS account.
+ * The ListProjects
operation is eventually consistent.
+ * Recent calls to CreateProject
and DeleteProject
might
+ * take a while to appear in the response from ListProjects
.
* This operation requires permissions to perform the
* lookoutvision:ListProjects
operation.
* @example
diff --git a/clients/client-lookoutvision/src/commands/StartModelPackagingJobCommand.ts b/clients/client-lookoutvision/src/commands/StartModelPackagingJobCommand.ts
new file mode 100644
index 000000000000..0d3764b52e22
--- /dev/null
+++ b/clients/client-lookoutvision/src/commands/StartModelPackagingJobCommand.ts
@@ -0,0 +1,140 @@
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import { 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 { LookoutVisionClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LookoutVisionClient";
+import { StartModelPackagingJobRequest, StartModelPackagingJobResponse } from "../models/models_0";
+import {
+ deserializeAws_restJson1StartModelPackagingJobCommand,
+ serializeAws_restJson1StartModelPackagingJobCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface StartModelPackagingJobCommandInput extends StartModelPackagingJobRequest {}
+export interface StartModelPackagingJobCommandOutput extends StartModelPackagingJobResponse, __MetadataBearer {}
+
+/**
+ * Starts an Amazon Lookout for Vision model packaging job. A model packaging job creates an AWS IoT Greengrass component for
+ * a Lookout for Vision model. You can use the component to deploy your model to an edge device managed by Greengrass.
+ *
+ *
+ * Use the DescribeModelPackagingJob API to determine the current status of the job.
+ *
+ * The model packaging job is complete if the value of Status
is SUCCEEDED
.
+ * To deploy the component
+ * to the target device, use the component name and component version
+ * with the AWS IoT Greengrass CreateDeployment API.
+ *
+ * This operation requires the following permissions:
+ *
+ * -
+ *
+ * lookoutvision:StartModelPackagingJobs
+ *
+ *
+ * -
+ *
+ * s3:PutObject
+ *
+ *
+ * -
+ *
+ * s3:GetBucketLocation
+ *
+ *
+ * -
+ *
+ * greengrass:CreateComponentVersion
+ *
+ *
+ * -
+ *
+ * greengrass:DescribeComponent
+ *
+ *
+ * -
+ *
(Optional) greengrass:TagResource
. Only required if you want to tag the component.
+ *
+ *
+ *
+ *
+ * For more information, see
+ * Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { LookoutVisionClient, StartModelPackagingJobCommand } from "@aws-sdk/client-lookoutvision"; // ES Modules import
+ * // const { LookoutVisionClient, StartModelPackagingJobCommand } = require("@aws-sdk/client-lookoutvision"); // CommonJS import
+ * const client = new LookoutVisionClient(config);
+ * const command = new StartModelPackagingJobCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link StartModelPackagingJobCommandInput} for command's `input` shape.
+ * @see {@link StartModelPackagingJobCommandOutput} for command's `response` shape.
+ * @see {@link LookoutVisionClientResolvedConfig | config} for LookoutVisionClient's `config` shape.
+ *
+ */
+export class StartModelPackagingJobCommand extends $Command<
+ StartModelPackagingJobCommandInput,
+ StartModelPackagingJobCommandOutput,
+ LookoutVisionClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: StartModelPackagingJobCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: LookoutVisionClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "LookoutVisionClient";
+ const commandName = "StartModelPackagingJobCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: StartModelPackagingJobRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: StartModelPackagingJobResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: StartModelPackagingJobCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_restJson1StartModelPackagingJobCommand(input, context);
+ }
+
+ private deserialize(output: __HttpResponse, context: __SerdeContext): Promise {
+ return deserializeAws_restJson1StartModelPackagingJobCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-lookoutvision/src/commands/UpdateDatasetEntriesCommand.ts b/clients/client-lookoutvision/src/commands/UpdateDatasetEntriesCommand.ts
index b3f64abb41f1..0990995d1997 100644
--- a/clients/client-lookoutvision/src/commands/UpdateDatasetEntriesCommand.ts
+++ b/clients/client-lookoutvision/src/commands/UpdateDatasetEntriesCommand.ts
@@ -22,10 +22,21 @@ export interface UpdateDatasetEntriesCommandInput extends UpdateDatasetEntriesRe
export interface UpdateDatasetEntriesCommandOutput extends UpdateDatasetEntriesResponse, __MetadataBearer {}
/**
- * Adds one or more JSON Line entries to a dataset. A JSON Line includes information about an image
- * used for training or testing an Amazon Lookout for Vision model. The following is an example JSON Line.
+ * Adds or updates one or more JSON Line entries in a dataset. A JSON Line includes information about an image
+ * used for training or testing an Amazon Lookout for Vision model.
+ * To update an existing JSON Line, use the source-ref
field to identify the JSON Line. The JSON line
+ * that you supply replaces the existing JSON line. Any existing annotations that are not in the new JSON line are removed from the dataset.
+ *
*
*
+ * For more information, see
+ * Defining JSON lines for anomaly classification in the Amazon Lookout for Vision Developer Guide.
+ *
+ *
+ * The images you reference in the source-ref
field of a JSON line, must be
+ * in the same S3 bucket as the existing images in the dataset.
+ *
+ *
* Updating a dataset might take a while to complete. To check the current status, call DescribeDataset and
* check the Status
field in the response.
* This operation requires permissions to perform the
diff --git a/clients/client-lookoutvision/src/commands/index.ts b/clients/client-lookoutvision/src/commands/index.ts
index 5e1e80a8f38c..9770dc3f67e6 100644
--- a/clients/client-lookoutvision/src/commands/index.ts
+++ b/clients/client-lookoutvision/src/commands/index.ts
@@ -6,13 +6,16 @@ export * from "./DeleteModelCommand";
export * from "./DeleteProjectCommand";
export * from "./DescribeDatasetCommand";
export * from "./DescribeModelCommand";
+export * from "./DescribeModelPackagingJobCommand";
export * from "./DescribeProjectCommand";
export * from "./DetectAnomaliesCommand";
export * from "./ListDatasetEntriesCommand";
+export * from "./ListModelPackagingJobsCommand";
export * from "./ListModelsCommand";
export * from "./ListProjectsCommand";
export * from "./ListTagsForResourceCommand";
export * from "./StartModelCommand";
+export * from "./StartModelPackagingJobCommand";
export * from "./StopModelCommand";
export * from "./TagResourceCommand";
export * from "./UntagResourceCommand";
diff --git a/clients/client-lookoutvision/src/endpoints.ts b/clients/client-lookoutvision/src/endpoints.ts
index 1c7f3b777955..b3a6050158a8 100644
--- a/clients/client-lookoutvision/src/endpoints.ts
+++ b/clients/client-lookoutvision/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-lookoutvision/src/models/models_0.ts b/clients/client-lookoutvision/src/models/models_0.ts
index 75231c402fc2..0604483caafd 100644
--- a/clients/client-lookoutvision/src/models/models_0.ts
+++ b/clients/client-lookoutvision/src/models/models_0.ts
@@ -22,6 +22,7 @@ export namespace AccessDeniedException {
export enum ResourceType {
DATASET = "DATASET",
MODEL = "MODEL",
+ MODEL_PACKAGE_JOB = "MODEL_PACKAGE_JOB",
PROJECT = "PROJECT",
TRIAL = "TRIAL",
}
@@ -147,11 +148,14 @@ export interface CreateDatasetRequest {
/**
*
ClientToken is an idempotency token that ensures a call to CreateDataset
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from CreateDataset
.
+ * completes only once. You choose the value to pass. For example, An issue might prevent you
+ * from getting a response from CreateDataset
.
* In this case, safely retry your call
- * to CreateDataset
by using the same ClientToken
parameter value. An error occurs
- * if the other input parameters are not the same as in the first request. Using a different
+ * to CreateDataset
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple dataset creation requests. You'll need to
+ * provide your own value for other use cases.
+ * An error occurs if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to CreateDataset
. An idempotency
* token is active for 8 hours.
*
@@ -182,7 +186,8 @@ export enum DatasetStatus {
}
/**
- * Sumary information for an Amazon Lookout for Vision dataset.
+ * Summary information for an Amazon Lookout for Vision dataset. For more information,
+ * see DescribeDataset and ProjectDescription.
*/
export interface DatasetMetadata {
/**
@@ -370,16 +375,18 @@ export namespace ValidationException {
}
/**
- * Information about the location training output.
+ * Information about the location of training output or the output of a model packaging job.
*/
export interface S3Location {
/**
- * The S3 bucket that contains the training output.
+ * The S3 bucket that contains the training or model packaging job output. If you are training a model,
+ * the bucket must in your AWS account. If you use an S3 bucket for a model packaging job,
+ * the S3 bucket must be in the same AWS Region and AWS account in which you use AWS IoT Greengrass.
*/
Bucket: string | undefined;
/**
- * The path of the folder, within the S3 bucket, that contains the training output.
+ * The path of the folder, within the S3 bucket, that contains the output.
*/
Prefix?: string;
}
@@ -449,11 +456,14 @@ export interface CreateModelRequest {
/**
* ClientToken is an idempotency token that ensures a call to CreateModel
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from CreateModel
.
+ * completes only once. You choose the value to pass. For example, An issue
+ * might prevent you from getting a response from CreateModel
.
* In this case, safely retry your call
- * to CreateModel
by using the same ClientToken
parameter value. An error occurs
- * if the other input parameters are not the same as in the first request. Using a different
+ * to CreateModel
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from starting multiple training jobs. You'll need to
+ * provide your own value for other use cases.
+ * An error occurs if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to CreateModel
. An idempotency
* token is active for 8 hours.
*/
@@ -465,7 +475,7 @@ export interface CreateModelRequest {
OutputConfig: OutputConfig | undefined;
/**
- * The identifier for your AWS Key Management Service (AWS KMS) customer master key (CMK).
+ *
The identifier for your AWS KMS key.
* The key is used to encrypt training and test images copied into the service for model training. Your
* source images are unaffected.
* If this parameter is not specified, the copied images are encrypted by a key that AWS owns and manages.
@@ -601,10 +611,14 @@ export interface CreateProjectRequest {
/**
* ClientToken is an idempotency token that ensures a call to CreateProject
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from CreateProject
.
+ * completes only once. You choose the value to pass. For example, An issue might prevent you from
+ * getting a response from CreateProject
.
* In this case, safely retry your call
- * to CreateProject
by using the same ClientToken
parameter value. An error occurs
+ * to CreateProject
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple project creation requests. You'll need to
+ * provide your own value for other use cases.
+ * An error occurs
* if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to CreateProject
. An idempotency
* token is active for 8 hours.
@@ -736,7 +750,7 @@ export interface DatasetDescription {
StatusMessage?: string;
/**
- *
+ * Statistics about the images in a dataset.
*/
ImageStats?: DatasetImageStats;
}
@@ -765,11 +779,13 @@ export interface DeleteDatasetRequest {
/**
* ClientToken is an idempotency token that ensures a call to DeleteDataset
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from DeleteDataset
.
+ * completes only once. You choose the value to pass. For example, An issue might prevent you from getting a response from DeleteDataset
.
* In this case, safely retry your call
- * to DeleteDataset
by using the same ClientToken
parameter value. An error occurs
- * if the other input parameters are not the same as in the first request. Using a different
+ * to DeleteDataset
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple deletetion requests. You'll need to
+ * provide your own value for other use cases.
+ * An error occurs if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to DeleteDataset
. An idempotency
* token is active for 8 hours.
*/
@@ -809,11 +825,15 @@ export interface DeleteModelRequest {
/**
* ClientToken is an idempotency token that ensures a call to DeleteModel
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from DeleteModel
.
+ * completes only once. You choose the value to pass. For example, an issue might prevent
+ * you from getting a response from DeleteModel
.
* In this case, safely retry your call
- * to DeleteModel
by using the same ClientToken
parameter value. An error occurs
- * if the other input parameters are not the same as in the first request. Using a different
+ * to DeleteModel
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple model deletion requests. You'll need to
+ * provide your own value for other use cases.
+ *
+ * An error occurs if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to DeleteModel
. An idempotency
* token is active for 8 hours.
*/
@@ -853,11 +873,14 @@ export interface DeleteProjectRequest {
/**
* ClientToken is an idempotency token that ensures a call to DeleteProject
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from DeleteProject
.
+ * completes only once. You choose the value to pass. For example, An issue
+ * might prevent you from getting a response from DeleteProject
.
* In this case, safely retry your call
- * to DeleteProject
by using the same ClientToken
parameter value. An error occurs
- * if the other input parameters are not the same as in the first request. Using a different
+ * to DeleteProject
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple project deletion requests. You'll need to
+ * provide your own value for other use cases.
+ * An error occurs if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to DeleteProject
. An idempotency
* token is active for 8 hours.
*/
@@ -1066,6 +1089,368 @@ export namespace DescribeModelResponse {
});
}
+export interface DescribeModelPackagingJobRequest {
+ /**
+ * The name of the project that contains the model packaging job that you want to describe.
+ *
+ */
+ ProjectName: string | undefined;
+
+ /**
+ * The job name for the model packaging job.
+ *
+ *
+ */
+ JobName: string | undefined;
+}
+
+export namespace DescribeModelPackagingJobRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DescribeModelPackagingJobRequest): any => ({
+ ...obj,
+ });
+}
+
+export enum TargetDevice {
+ JETSON_XAVIER = "jetson_xavier",
+}
+
+export enum TargetPlatformAccelerator {
+ NVIDIA = "NVIDIA",
+}
+
+export enum TargetPlatformArch {
+ ARM64 = "ARM64",
+ X86_64 = "X86_64",
+}
+
+export enum TargetPlatformOs {
+ LINUX = "LINUX",
+}
+
+/**
+ * The platform on which a model runs on an AWS IoT Greengrass core device.
+ */
+export interface TargetPlatform {
+ /**
+ * The target operating system for the model. Linux is the only operating system
+ * that is currently supported.
+ *
+ */
+ Os: TargetPlatformOs | string | undefined;
+
+ /**
+ * The target architecture for the model. The currently supported architectures are
+ * X86_64 (64-bit version of the x86 instruction set) and ARM_64 (ARMv8 64-bit CPU).
+ *
+ */
+ Arch: TargetPlatformArch | string | undefined;
+
+ /**
+ * The target accelerator for the model. NVIDIA (Nvidia graphics processing unit)
+ * is the only accelerator that is currently supported. You must also specify the gpu-code
, trt-ver
,
+ * and cuda-ver
compiler options.
+ *
+ *
+ */
+ Accelerator: TargetPlatformAccelerator | string | undefined;
+}
+
+export namespace TargetPlatform {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: TargetPlatform): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Configuration information for the AWS IoT Greengrass component created in a model packaging job.
+ * For more information, see StartModelPackagingJob.
+ *
+ *
+ * You can't specify a component with the same ComponentName
and Componentversion
as
+ * an existing component with the same component name and component version.
+ *
+ */
+export interface GreengrassConfiguration {
+ /**
+ * Additional compiler options for the Greengrass component. Currently,
+ * only NVIDIA Graphics Processing Units (GPU) are supported.
+ *
+ *
+ * For more information, see
+ * Compiler options in the Amazon Lookout for Vision Developer Guide.
+ */
+ CompilerOptions: string | undefined;
+
+ /**
+ * The target device for the model. Currently the only supported value is jetson_xavier
.
+ * If you specify TargetDevice
, you can't specify
+ * TargetPlatform
.
+ *
+ *
+ */
+ TargetDevice?: TargetDevice | string;
+
+ /**
+ * The target platform for the model. If you specify TargetPlatform
, you can't specify
+ * TargetDevice
.
+ *
+ */
+ TargetPlatform?: TargetPlatform;
+
+ /**
+ *
+ * An S3 location in which Lookout for Vision stores the component artifacts.
+ *
+ */
+ S3OutputLocation: S3Location | undefined;
+
+ /**
+ *
+ * A name for the AWS IoT Greengrass component.
+ *
+ */
+ ComponentName: string | undefined;
+
+ /**
+ * A Version for the AWS IoT Greengrass component. If you don't provide a
+ * value, a default value of
+ * Model Version.0.0
is used.
+ *
+ */
+ ComponentVersion?: string;
+
+ /**
+ *
+ * A description for the AWS IoT Greengrass component.
+ *
+ */
+ ComponentDescription?: string;
+
+ /**
+ *
+ * A set of tags (key-value pairs) that you want to attach to the AWS IoT Greengrass component.
+ *
+ */
+ Tags?: Tag[];
+}
+
+export namespace GreengrassConfiguration {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GreengrassConfiguration): any => ({
+ ...obj,
+ });
+}
+
+/**
+ *
+ * Configuration information for a Amazon Lookout for Vision model packaging job. For more information,
+ * see StartModelPackagingJob.
+ *
+ */
+export interface ModelPackagingConfiguration {
+ /**
+ *
+ * Configuration information for the AWS IoT Greengrass component in a model packaging job.
+ *
+ */
+ Greengrass: GreengrassConfiguration | undefined;
+}
+
+export namespace ModelPackagingConfiguration {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ModelPackagingConfiguration): any => ({
+ ...obj,
+ });
+}
+
+/**
+ * Information about the AWS IoT Greengrass component created by a model packaging job.
+ *
+ *
+ */
+export interface GreengrassOutputDetails {
+ /**
+ *
+ * The Amazon Resource Name (ARN) of the component.
+ *
+ */
+ ComponentVersionArn?: string;
+
+ /**
+ *
+ * The name of the component.
+ *
+ */
+ ComponentName?: string;
+
+ /**
+ *
+ * The version of the component.
+ *
+ */
+ ComponentVersion?: string;
+}
+
+export namespace GreengrassOutputDetails {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: GreengrassOutputDetails): any => ({
+ ...obj,
+ });
+}
+
+/**
+ *
+ * Information about the output from a model packaging job.
+ *
+ */
+export interface ModelPackagingOutputDetails {
+ /**
+ *
+ * Information about the AWS IoT Greengrass component in a model packaging job.
+ *
+ */
+ Greengrass?: GreengrassOutputDetails;
+}
+
+export namespace ModelPackagingOutputDetails {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ModelPackagingOutputDetails): any => ({
+ ...obj,
+ });
+}
+
+export enum ModelPackagingJobStatus {
+ CREATED = "CREATED",
+ FAILED = "FAILED",
+ RUNNING = "RUNNING",
+ SUCCEEDED = "SUCCEEDED",
+}
+
+/**
+ *
+ * Information about a model packaging job. For more information, see
+ * DescribeModelPackagingJob.
+ *
+ */
+export interface ModelPackagingDescription {
+ /**
+ *
+ * The name of the model packaging job.
+ *
+ */
+ JobName?: string;
+
+ /**
+ * The name of the project that's associated with a model that's in the model package.
+ *
+ *
+ */
+ ProjectName?: string;
+
+ /**
+ * The version of the model used in the model packaging job.
+ *
+ *
+ */
+ ModelVersion?: string;
+
+ /**
+ *
+ * The configuration information used in the model packaging job.
+ *
+ */
+ ModelPackagingConfiguration?: ModelPackagingConfiguration;
+
+ /**
+ * The description for the model packaging job.
+ *
+ *
+ */
+ ModelPackagingJobDescription?: string;
+
+ /**
+ * The AWS service used to package the job. Currently Lookout for Vision can package
+ * jobs with AWS IoT Greengrass.
+ *
+ */
+ ModelPackagingMethod?: string;
+
+ /**
+ * Information about the output of the model packaging job. For more information,
+ * see DescribeModelPackagingJob.
+ *
+ */
+ ModelPackagingOutputDetails?: ModelPackagingOutputDetails;
+
+ /**
+ *
+ * The status of the model packaging job.
+ *
+ */
+ Status?: ModelPackagingJobStatus | string;
+
+ /**
+ *
+ * The status message for the model packaging job.
+ *
+ */
+ StatusMessage?: string;
+
+ /**
+ *
+ * The Unix timestamp for the time and date that the model packaging job was created.
+ *
+ */
+ CreationTimestamp?: Date;
+
+ /**
+ *
+ * The Unix timestamp for the time and date that the model packaging job was last updated.
+ *
+ */
+ LastUpdatedTimestamp?: Date;
+}
+
+export namespace ModelPackagingDescription {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ModelPackagingDescription): any => ({
+ ...obj,
+ });
+}
+
+export interface DescribeModelPackagingJobResponse {
+ /**
+ * The description of the model packaging job.
+ *
+ */
+ ModelPackagingDescription?: ModelPackagingDescription;
+}
+
+export namespace DescribeModelPackagingJobResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DescribeModelPackagingJobResponse): any => ({
+ ...obj,
+ });
+}
+
export interface DescribeProjectRequest {
/**
* The name of the project that you want to describe.
@@ -1316,6 +1701,138 @@ export namespace ListDatasetEntriesResponse {
});
}
+export interface ListModelPackagingJobsRequest {
+ /**
+ *
+ * The name of the project for which you want to list the model packaging jobs.
+ *
+ */
+ ProjectName: string | undefined;
+
+ /**
+ * If the previous response was incomplete (because there is more
+ * results to retrieve), Amazon Lookout for Vision returns a pagination token in the response. You can use this pagination
+ * token to retrieve the next set of results.
+ */
+ NextToken?: string;
+
+ /**
+ * The maximum number of results to return per paginated call. The largest value you can specify is 100.
+ * If you specify a value greater than 100, a ValidationException
+ * error occurs. The default value is 100.
+ */
+ MaxResults?: number;
+}
+
+export namespace ListModelPackagingJobsRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListModelPackagingJobsRequest): any => ({
+ ...obj,
+ });
+}
+
+/**
+ *
+ * Metadata for a model packaging job. For more information, see ListModelPackagingJobs.
+ *
+ */
+export interface ModelPackagingJobMetadata {
+ /**
+ *
+ * The name of the model packaging job.
+ *
+ */
+ JobName?: string;
+
+ /**
+ *
+ * The project that contains the model that is in the model package.
+ *
+ */
+ ProjectName?: string;
+
+ /**
+ *
+ * The version of the model that is in the model package.
+ *
+ */
+ ModelVersion?: string;
+
+ /**
+ *
+ * The description for the model packaging job.
+ *
+ */
+ ModelPackagingJobDescription?: string;
+
+ /**
+ *
+ * The AWS service used to package the job. Currently Lookout for Vision can package
+ * jobs with AWS IoT Greengrass.
+ *
+ */
+ ModelPackagingMethod?: string;
+
+ /**
+ * The status of the model packaging job.
+ *
+ */
+ Status?: ModelPackagingJobStatus | string;
+
+ /**
+ * The status message for the model packaging job.
+ *
+ */
+ StatusMessage?: string;
+
+ /**
+ * The Unix timestamp for the time and date that the model packaging job was created.
+ */
+ CreationTimestamp?: Date;
+
+ /**
+ * The Unix timestamp for the time and date that the model packaging job was last updated.
+ */
+ LastUpdatedTimestamp?: Date;
+}
+
+export namespace ModelPackagingJobMetadata {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ModelPackagingJobMetadata): any => ({
+ ...obj,
+ });
+}
+
+export interface ListModelPackagingJobsResponse {
+ /**
+ *
+ * A list of the model packaging jobs created for the specified Amazon Lookout for Vision project.
+ *
+ */
+ ModelPackagingJobs?: ModelPackagingJobMetadata[];
+
+ /**
+ * If the previous response was incomplete (because there is more
+ * results to retrieve), Amazon Lookout for Vision returns a pagination token in the response. You can use this pagination
+ * token to retrieve the next set of results.
+ *
+ */
+ NextToken?: string;
+}
+
+export namespace ListModelPackagingJobsResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: ListModelPackagingJobsResponse): any => ({
+ ...obj,
+ });
+}
+
export interface ListModelsRequest {
/**
* The name of the project that contains the model versions that you want to list.
@@ -1460,7 +1977,7 @@ export interface StartModelRequest {
/**
* The minimum number of inference units to use. A single
- * inference unit represents 1 hour of processing and can support up to 5 Transaction Pers Second (TPS).
+ * inference unit represents 1 hour of processing.
* Use a higher number to increase the TPS throughput of your model. You are charged for the number
* of inference units that you use.
*
@@ -1469,11 +1986,15 @@ export interface StartModelRequest {
/**
* ClientToken is an idempotency token that ensures a call to StartModel
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from StartModel
.
+ * completes only once. You choose the value to pass. For example, An issue might prevent
+ * you from getting a response from StartModel
.
* In this case, safely retry your call
- * to StartModel
by using the same ClientToken
parameter value. An error occurs
- * if the other input parameters are not the same as in the first request. Using a different
+ * to StartModel
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple start requests. You'll need to
+ * provide your own value for other use cases.
+ *
+ * An error occurs if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to StartModel
. An idempotency
* token is active for 8 hours.
*
@@ -1514,6 +2035,85 @@ export namespace StartModelResponse {
});
}
+export interface StartModelPackagingJobRequest {
+ /**
+ *
+ * The name of the project which contains the version of the model that you want to package.
+ *
+ */
+ ProjectName: string | undefined;
+
+ /**
+ *
+ * The version of the model within the project that you want to package.
+ *
+ */
+ ModelVersion: string | undefined;
+
+ /**
+ * A name for the model packaging job. If you don't supply a value, the service creates
+ * a job name for you.
+ *
+ */
+ JobName?: string;
+
+ /**
+ * The configuration for the model packaging job.
+ *
+ */
+ Configuration: ModelPackagingConfiguration | undefined;
+
+ /**
+ * A description for the model packaging job.
+ *
+ */
+ Description?: string;
+
+ /**
+ * ClientToken is an idempotency token that ensures a call to StartModelPackagingJob
+ * completes only once. You choose the value to pass. For example, An issue might prevent you
+ * from getting a response from StartModelPackagingJob
.
+ * In this case, safely retry your call
+ * to StartModelPackagingJob
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple dataset creation requests. You'll need to
+ * provide your own value for other use cases.
+ * An error occurs if the other input parameters are not the same as in the first request. Using a different
+ * value for ClientToken
is considered a new call to StartModelPackagingJob
. An idempotency
+ * token is active for 8 hours.
+ *
+ */
+ ClientToken?: string;
+}
+
+export namespace StartModelPackagingJobRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: StartModelPackagingJobRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface StartModelPackagingJobResponse {
+ /**
+ * The job name for the model packaging job. If you don't supply a job name in the JobName
input parameter,
+ * the service creates a job name for you.
+ *
+ *
+ */
+ JobName?: string;
+}
+
+export namespace StartModelPackagingJobResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: StartModelPackagingJobResponse): any => ({
+ ...obj,
+ });
+}
+
export interface StopModelRequest {
/**
* The name of the project that contains the model that you want to stop.
@@ -1527,11 +2127,14 @@ export interface StopModelRequest {
/**
* ClientToken is an idempotency token that ensures a call to StopModel
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from StopModel
.
+ * completes only once. You choose the value to pass. For example, An issue
+ * might prevent you from getting a response from StopModel
.
* In this case, safely retry your call
- * to StopModel
by using the same ClientToken
parameter value. An error occurs
- * if the other input parameters are not the same as in the first request. Using a different
+ * to StopModel
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple stop requests. You'll need to
+ * provide your own value for other use cases.
+ * An error occurs if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to StopModel
. An idempotency
* token is active for 8 hours.
*
@@ -1650,10 +2253,14 @@ export interface UpdateDatasetEntriesRequest {
/**
*
ClientToken is an idempotency token that ensures a call to UpdateDatasetEntries
- * completes only once. You choose the value to pass. For example, An issue,
- * such as an network outage, might prevent you from getting a response from UpdateDatasetEntries
.
+ * completes only once. You choose the value to pass. For example, An issue
+ * might prevent you from getting a response from UpdateDatasetEntries
.
* In this case, safely retry your call
- * to UpdateDatasetEntries
by using the same ClientToken
parameter value. An error occurs
+ * to UpdateDatasetEntries
by using the same ClientToken
parameter value.
+ * If you don't supply a value for ClientToken
, the AWS SDK you are using inserts a value for you.
+ * This prevents retries after a network error from making multiple updates with the same dataset entries. You'll need to
+ * provide your own value for other use cases.
+ * An error occurs
* if the other input parameters are not the same as in the first request. Using a different
* value for ClientToken
is considered a new call to UpdateDatasetEntries
. An idempotency
* token is active for 8 hours.
diff --git a/clients/client-lookoutvision/src/pagination/ListModelPackagingJobsPaginator.ts b/clients/client-lookoutvision/src/pagination/ListModelPackagingJobsPaginator.ts
new file mode 100644
index 000000000000..9b27be1a8743
--- /dev/null
+++ b/clients/client-lookoutvision/src/pagination/ListModelPackagingJobsPaginator.ts
@@ -0,0 +1,59 @@
+import { Paginator } from "@aws-sdk/types";
+
+import {
+ ListModelPackagingJobsCommand,
+ ListModelPackagingJobsCommandInput,
+ ListModelPackagingJobsCommandOutput,
+} from "../commands/ListModelPackagingJobsCommand";
+import { LookoutVision } from "../LookoutVision";
+import { LookoutVisionClient } from "../LookoutVisionClient";
+import { LookoutVisionPaginationConfiguration } from "./Interfaces";
+
+/**
+ * @private
+ */
+const makePagedClientRequest = async (
+ client: LookoutVisionClient,
+ input: ListModelPackagingJobsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.send(new ListModelPackagingJobsCommand(input), ...args);
+};
+/**
+ * @private
+ */
+const makePagedRequest = async (
+ client: LookoutVision,
+ input: ListModelPackagingJobsCommandInput,
+ ...args: any
+): Promise => {
+ // @ts-ignore
+ return await client.listModelPackagingJobs(input, ...args);
+};
+export async function* paginateListModelPackagingJobs(
+ config: LookoutVisionPaginationConfiguration,
+ input: ListModelPackagingJobsCommandInput,
+ ...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: ListModelPackagingJobsCommandOutput;
+ while (hasNext) {
+ input.NextToken = token;
+ input["MaxResults"] = config.pageSize;
+ if (config.client instanceof LookoutVision) {
+ page = await makePagedRequest(config.client, input, ...additionalArguments);
+ } else if (config.client instanceof LookoutVisionClient) {
+ page = await makePagedClientRequest(config.client, input, ...additionalArguments);
+ } else {
+ throw new Error("Invalid client, expected LookoutVision | LookoutVisionClient");
+ }
+ yield page;
+ token = page.NextToken;
+ hasNext = !!token;
+ }
+ // @ts-ignore
+ return undefined;
+}
diff --git a/clients/client-lookoutvision/src/pagination/index.ts b/clients/client-lookoutvision/src/pagination/index.ts
index 975909887bfa..aa13a0cda228 100644
--- a/clients/client-lookoutvision/src/pagination/index.ts
+++ b/clients/client-lookoutvision/src/pagination/index.ts
@@ -1,4 +1,5 @@
export * from "./Interfaces";
export * from "./ListDatasetEntriesPaginator";
+export * from "./ListModelPackagingJobsPaginator";
export * from "./ListModelsPaginator";
export * from "./ListProjectsPaginator";
diff --git a/clients/client-lookoutvision/src/protocols/Aws_restJson1.ts b/clients/client-lookoutvision/src/protocols/Aws_restJson1.ts
index bf07aa3fbe1d..6eb17d20ce6e 100644
--- a/clients/client-lookoutvision/src/protocols/Aws_restJson1.ts
+++ b/clients/client-lookoutvision/src/protocols/Aws_restJson1.ts
@@ -28,9 +28,17 @@ import { DeleteModelCommandInput, DeleteModelCommandOutput } from "../commands/D
import { DeleteProjectCommandInput, DeleteProjectCommandOutput } from "../commands/DeleteProjectCommand";
import { DescribeDatasetCommandInput, DescribeDatasetCommandOutput } from "../commands/DescribeDatasetCommand";
import { DescribeModelCommandInput, DescribeModelCommandOutput } from "../commands/DescribeModelCommand";
+import {
+ DescribeModelPackagingJobCommandInput,
+ DescribeModelPackagingJobCommandOutput,
+} from "../commands/DescribeModelPackagingJobCommand";
import { DescribeProjectCommandInput, DescribeProjectCommandOutput } from "../commands/DescribeProjectCommand";
import { DetectAnomaliesCommandInput, DetectAnomaliesCommandOutput } from "../commands/DetectAnomaliesCommand";
import { ListDatasetEntriesCommandInput, ListDatasetEntriesCommandOutput } from "../commands/ListDatasetEntriesCommand";
+import {
+ ListModelPackagingJobsCommandInput,
+ ListModelPackagingJobsCommandOutput,
+} from "../commands/ListModelPackagingJobsCommand";
import { ListModelsCommandInput, ListModelsCommandOutput } from "../commands/ListModelsCommand";
import { ListProjectsCommandInput, ListProjectsCommandOutput } from "../commands/ListProjectsCommand";
import {
@@ -38,6 +46,10 @@ import {
ListTagsForResourceCommandOutput,
} from "../commands/ListTagsForResourceCommand";
import { StartModelCommandInput, StartModelCommandOutput } from "../commands/StartModelCommand";
+import {
+ StartModelPackagingJobCommandInput,
+ StartModelPackagingJobCommandOutput,
+} from "../commands/StartModelPackagingJobCommand";
import { StopModelCommandInput, StopModelCommandOutput } from "../commands/StopModelCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand";
@@ -54,11 +66,17 @@ import {
DatasetMetadata,
DatasetSource,
DetectAnomalyResult,
+ GreengrassConfiguration,
+ GreengrassOutputDetails,
ImageSource,
InputS3Object,
InternalServerException,
ModelDescription,
ModelMetadata,
+ ModelPackagingConfiguration,
+ ModelPackagingDescription,
+ ModelPackagingJobMetadata,
+ ModelPackagingOutputDetails,
ModelPerformance,
OutputConfig,
OutputS3Object,
@@ -68,6 +86,7 @@ import {
S3Location,
ServiceQuotaExceededException,
Tag,
+ TargetPlatform,
ThrottlingException,
ValidationException,
} from "../models/models_0";
@@ -368,6 +387,45 @@ export const serializeAws_restJson1DescribeModelCommand = async (
});
};
+export const serializeAws_restJson1DescribeModelPackagingJobCommand = async (
+ input: DescribeModelPackagingJobCommandInput,
+ 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 || ""}` +
+ "/2020-11-20/projects/{ProjectName}/modelpackagingjobs/{JobName}";
+ if (input.ProjectName !== undefined) {
+ const labelValue: string = input.ProjectName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: ProjectName.");
+ }
+ resolvedPath = resolvedPath.replace("{ProjectName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: ProjectName.");
+ }
+ if (input.JobName !== undefined) {
+ const labelValue: string = input.JobName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: JobName.");
+ }
+ resolvedPath = resolvedPath.replace("{JobName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: JobName.");
+ }
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1DescribeProjectCommand = async (
input: DescribeProjectCommandInput,
context: __SerdeContext
@@ -495,6 +553,41 @@ export const serializeAws_restJson1ListDatasetEntriesCommand = async (
});
};
+export const serializeAws_restJson1ListModelPackagingJobsCommand = async (
+ input: ListModelPackagingJobsCommandInput,
+ 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 || ""}` +
+ "/2020-11-20/projects/{ProjectName}/modelpackagingjobs";
+ if (input.ProjectName !== undefined) {
+ const labelValue: string = input.ProjectName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: ProjectName.");
+ }
+ resolvedPath = resolvedPath.replace("{ProjectName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: ProjectName.");
+ }
+ const query: any = {
+ ...(input.NextToken !== undefined && { nextToken: input.NextToken }),
+ ...(input.MaxResults !== undefined && { maxResults: input.MaxResults.toString() }),
+ };
+ let body: any;
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "GET",
+ headers,
+ path: resolvedPath,
+ query,
+ body,
+ });
+};
+
export const serializeAws_restJson1ListModelsCommand = async (
input: ListModelsCommandInput,
context: __SerdeContext
@@ -628,6 +721,48 @@ export const serializeAws_restJson1StartModelCommand = async (
});
};
+export const serializeAws_restJson1StartModelPackagingJobCommand = async (
+ input: StartModelPackagingJobCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
+ const headers: any = {
+ "content-type": "application/json",
+ ...(isSerializableHeaderValue(input.ClientToken) && { "x-amzn-client-token": input.ClientToken! }),
+ };
+ let resolvedPath =
+ `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` +
+ "/2020-11-20/projects/{ProjectName}/modelpackagingjobs";
+ if (input.ProjectName !== undefined) {
+ const labelValue: string = input.ProjectName;
+ if (labelValue.length <= 0) {
+ throw new Error("Empty value provided for input HTTP label: ProjectName.");
+ }
+ resolvedPath = resolvedPath.replace("{ProjectName}", __extendedEncodeURIComponent(labelValue));
+ } else {
+ throw new Error("No value provided for input HTTP label: ProjectName.");
+ }
+ let body: any;
+ body = JSON.stringify({
+ ...(input.Configuration !== undefined &&
+ input.Configuration !== null && {
+ Configuration: serializeAws_restJson1ModelPackagingConfiguration(input.Configuration, context),
+ }),
+ ...(input.Description !== undefined && input.Description !== null && { Description: input.Description }),
+ ...(input.JobName !== undefined && input.JobName !== null && { JobName: input.JobName }),
+ ...(input.ModelVersion !== undefined && input.ModelVersion !== null && { ModelVersion: input.ModelVersion }),
+ });
+ return new __HttpRequest({
+ protocol,
+ hostname,
+ port,
+ method: "POST",
+ headers,
+ path: resolvedPath,
+ body,
+ });
+};
+
export const serializeAws_restJson1StopModelCommand = async (
input: StopModelCommandInput,
context: __SerdeContext
@@ -1562,6 +1697,96 @@ const deserializeAws_restJson1DescribeModelCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1DescribeModelPackagingJobCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1DescribeModelPackagingJobCommandError(output, context);
+ }
+ const contents: DescribeModelPackagingJobCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ModelPackagingDescription: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.ModelPackagingDescription !== undefined && data.ModelPackagingDescription !== null) {
+ contents.ModelPackagingDescription = deserializeAws_restJson1ModelPackagingDescription(
+ data.ModelPackagingDescription,
+ context
+ );
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1DescribeModelPackagingJobCommandError = async (
+ 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.lookoutvision#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalServerException":
+ case "com.amazonaws.lookoutvision#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.lookoutvision#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ThrottlingException":
+ case "com.amazonaws.lookoutvision#ThrottlingException":
+ response = {
+ ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ValidationException":
+ case "com.amazonaws.lookoutvision#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_restJson1DescribeProjectCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -1851,6 +2076,97 @@ const deserializeAws_restJson1ListDatasetEntriesCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1ListModelPackagingJobsCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1ListModelPackagingJobsCommandError(output, context);
+ }
+ const contents: ListModelPackagingJobsCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ModelPackagingJobs: undefined,
+ NextToken: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.ModelPackagingJobs !== undefined && data.ModelPackagingJobs !== null) {
+ contents.ModelPackagingJobs = deserializeAws_restJson1ModelPackagingJobsList(data.ModelPackagingJobs, context);
+ }
+ if (data.NextToken !== undefined && data.NextToken !== null) {
+ contents.NextToken = __expectString(data.NextToken);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1ListModelPackagingJobsCommandError = async (
+ 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.lookoutvision#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalServerException":
+ case "com.amazonaws.lookoutvision#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.lookoutvision#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ThrottlingException":
+ case "com.amazonaws.lookoutvision#ThrottlingException":
+ response = {
+ ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ValidationException":
+ case "com.amazonaws.lookoutvision#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_restJson1ListModelsCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -2247,6 +2563,109 @@ const deserializeAws_restJson1StartModelCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_restJson1StartModelPackagingJobCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode !== 200 && output.statusCode >= 300) {
+ return deserializeAws_restJson1StartModelPackagingJobCommandError(output, context);
+ }
+ const contents: StartModelPackagingJobCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ JobName: undefined,
+ };
+ const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body");
+ if (data.JobName !== undefined && data.JobName !== null) {
+ contents.JobName = __expectString(data.JobName);
+ }
+ return Promise.resolve(contents);
+};
+
+const deserializeAws_restJson1StartModelPackagingJobCommandError = async (
+ 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.lookoutvision#AccessDeniedException":
+ response = {
+ ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ConflictException":
+ case "com.amazonaws.lookoutvision#ConflictException":
+ response = {
+ ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InternalServerException":
+ case "com.amazonaws.lookoutvision#InternalServerException":
+ response = {
+ ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.lookoutvision#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ServiceQuotaExceededException":
+ case "com.amazonaws.lookoutvision#ServiceQuotaExceededException":
+ response = {
+ ...(await deserializeAws_restJson1ServiceQuotaExceededExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ThrottlingException":
+ case "com.amazonaws.lookoutvision#ThrottlingException":
+ response = {
+ ...(await deserializeAws_restJson1ThrottlingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ValidationException":
+ case "com.amazonaws.lookoutvision#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_restJson1StopModelCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -2813,6 +3232,32 @@ const serializeAws_restJson1DatasetSource = (input: DatasetSource, context: __Se
};
};
+const serializeAws_restJson1GreengrassConfiguration = (
+ input: GreengrassConfiguration,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.CompilerOptions !== undefined &&
+ input.CompilerOptions !== null && { CompilerOptions: input.CompilerOptions }),
+ ...(input.ComponentDescription !== undefined &&
+ input.ComponentDescription !== null && { ComponentDescription: input.ComponentDescription }),
+ ...(input.ComponentName !== undefined && input.ComponentName !== null && { ComponentName: input.ComponentName }),
+ ...(input.ComponentVersion !== undefined &&
+ input.ComponentVersion !== null && { ComponentVersion: input.ComponentVersion }),
+ ...(input.S3OutputLocation !== undefined &&
+ input.S3OutputLocation !== null && {
+ S3OutputLocation: serializeAws_restJson1S3Location(input.S3OutputLocation, context),
+ }),
+ ...(input.Tags !== undefined &&
+ input.Tags !== null && { Tags: serializeAws_restJson1TagList(input.Tags, context) }),
+ ...(input.TargetDevice !== undefined && input.TargetDevice !== null && { TargetDevice: input.TargetDevice }),
+ ...(input.TargetPlatform !== undefined &&
+ input.TargetPlatform !== null && {
+ TargetPlatform: serializeAws_restJson1TargetPlatform(input.TargetPlatform, context),
+ }),
+ };
+};
+
const serializeAws_restJson1InputS3Object = (input: InputS3Object, context: __SerdeContext): any => {
return {
...(input.Bucket !== undefined && input.Bucket !== null && { Bucket: input.Bucket }),
@@ -2821,6 +3266,18 @@ const serializeAws_restJson1InputS3Object = (input: InputS3Object, context: __Se
};
};
+const serializeAws_restJson1ModelPackagingConfiguration = (
+ input: ModelPackagingConfiguration,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.Greengrass !== undefined &&
+ input.Greengrass !== null && {
+ Greengrass: serializeAws_restJson1GreengrassConfiguration(input.Greengrass, context),
+ }),
+ };
+};
+
const serializeAws_restJson1OutputConfig = (input: OutputConfig, context: __SerdeContext): any => {
return {
...(input.S3Location !== undefined &&
@@ -2853,6 +3310,14 @@ const serializeAws_restJson1TagList = (input: Tag[], context: __SerdeContext): a
});
};
+const serializeAws_restJson1TargetPlatform = (input: TargetPlatform, context: __SerdeContext): any => {
+ return {
+ ...(input.Accelerator !== undefined && input.Accelerator !== null && { Accelerator: input.Accelerator }),
+ ...(input.Arch !== undefined && input.Arch !== null && { Arch: input.Arch }),
+ ...(input.Os !== undefined && input.Os !== null && { Os: input.Os }),
+ };
+};
+
const deserializeAws_restJson1DatasetDescription = (output: any, context: __SerdeContext): DatasetDescription => {
return {
CreationTimestamp:
@@ -2928,6 +3393,42 @@ const deserializeAws_restJson1DetectAnomalyResult = (output: any, context: __Ser
} as any;
};
+const deserializeAws_restJson1GreengrassConfiguration = (
+ output: any,
+ context: __SerdeContext
+): GreengrassConfiguration => {
+ return {
+ CompilerOptions: __expectString(output.CompilerOptions),
+ ComponentDescription: __expectString(output.ComponentDescription),
+ ComponentName: __expectString(output.ComponentName),
+ ComponentVersion: __expectString(output.ComponentVersion),
+ S3OutputLocation:
+ output.S3OutputLocation !== undefined && output.S3OutputLocation !== null
+ ? deserializeAws_restJson1S3Location(output.S3OutputLocation, context)
+ : undefined,
+ Tags:
+ output.Tags !== undefined && output.Tags !== null
+ ? deserializeAws_restJson1TagList(output.Tags, context)
+ : undefined,
+ TargetDevice: __expectString(output.TargetDevice),
+ TargetPlatform:
+ output.TargetPlatform !== undefined && output.TargetPlatform !== null
+ ? deserializeAws_restJson1TargetPlatform(output.TargetPlatform, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1GreengrassOutputDetails = (
+ output: any,
+ context: __SerdeContext
+): GreengrassOutputDetails => {
+ return {
+ ComponentName: __expectString(output.ComponentName),
+ ComponentVersion: __expectString(output.ComponentVersion),
+ ComponentVersionArn: __expectString(output.ComponentVersionArn),
+ } as any;
+};
+
const deserializeAws_restJson1ImageSource = (output: any, context: __SerdeContext): ImageSource => {
return {
Type: __expectString(output.Type),
@@ -2998,6 +3499,98 @@ const deserializeAws_restJson1ModelMetadataList = (output: any, context: __Serde
});
};
+const deserializeAws_restJson1ModelPackagingConfiguration = (
+ output: any,
+ context: __SerdeContext
+): ModelPackagingConfiguration => {
+ return {
+ Greengrass:
+ output.Greengrass !== undefined && output.Greengrass !== null
+ ? deserializeAws_restJson1GreengrassConfiguration(output.Greengrass, context)
+ : undefined,
+ } as any;
+};
+
+const deserializeAws_restJson1ModelPackagingDescription = (
+ output: any,
+ context: __SerdeContext
+): ModelPackagingDescription => {
+ return {
+ CreationTimestamp:
+ output.CreationTimestamp !== undefined && output.CreationTimestamp !== null
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTimestamp)))
+ : undefined,
+ JobName: __expectString(output.JobName),
+ LastUpdatedTimestamp:
+ output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedTimestamp)))
+ : undefined,
+ ModelPackagingConfiguration:
+ output.ModelPackagingConfiguration !== undefined && output.ModelPackagingConfiguration !== null
+ ? deserializeAws_restJson1ModelPackagingConfiguration(output.ModelPackagingConfiguration, context)
+ : undefined,
+ ModelPackagingJobDescription: __expectString(output.ModelPackagingJobDescription),
+ ModelPackagingMethod: __expectString(output.ModelPackagingMethod),
+ ModelPackagingOutputDetails:
+ output.ModelPackagingOutputDetails !== undefined && output.ModelPackagingOutputDetails !== null
+ ? deserializeAws_restJson1ModelPackagingOutputDetails(output.ModelPackagingOutputDetails, context)
+ : undefined,
+ ModelVersion: __expectString(output.ModelVersion),
+ ProjectName: __expectString(output.ProjectName),
+ Status: __expectString(output.Status),
+ StatusMessage: __expectString(output.StatusMessage),
+ } as any;
+};
+
+const deserializeAws_restJson1ModelPackagingJobMetadata = (
+ output: any,
+ context: __SerdeContext
+): ModelPackagingJobMetadata => {
+ return {
+ CreationTimestamp:
+ output.CreationTimestamp !== undefined && output.CreationTimestamp !== null
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTimestamp)))
+ : undefined,
+ JobName: __expectString(output.JobName),
+ LastUpdatedTimestamp:
+ output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null
+ ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedTimestamp)))
+ : undefined,
+ ModelPackagingJobDescription: __expectString(output.ModelPackagingJobDescription),
+ ModelPackagingMethod: __expectString(output.ModelPackagingMethod),
+ ModelVersion: __expectString(output.ModelVersion),
+ ProjectName: __expectString(output.ProjectName),
+ Status: __expectString(output.Status),
+ StatusMessage: __expectString(output.StatusMessage),
+ } as any;
+};
+
+const deserializeAws_restJson1ModelPackagingJobsList = (
+ output: any,
+ context: __SerdeContext
+): ModelPackagingJobMetadata[] => {
+ return (output || [])
+ .filter((e: any) => e != null)
+ .map((entry: any) => {
+ if (entry === null) {
+ return null as any;
+ }
+ return deserializeAws_restJson1ModelPackagingJobMetadata(entry, context);
+ });
+};
+
+const deserializeAws_restJson1ModelPackagingOutputDetails = (
+ output: any,
+ context: __SerdeContext
+): ModelPackagingOutputDetails => {
+ return {
+ Greengrass:
+ output.Greengrass !== undefined && output.Greengrass !== null
+ ? deserializeAws_restJson1GreengrassOutputDetails(output.Greengrass, context)
+ : undefined,
+ } as any;
+};
+
const deserializeAws_restJson1ModelPerformance = (output: any, context: __SerdeContext): ModelPerformance => {
return {
F1Score: __limitedParseFloat32(output.F1Score),
@@ -3084,6 +3677,14 @@ const deserializeAws_restJson1TagList = (output: any, context: __SerdeContext):
});
};
+const deserializeAws_restJson1TargetPlatform = (output: any, context: __SerdeContext): TargetPlatform => {
+ return {
+ Accelerator: __expectString(output.Accelerator),
+ Arch: __expectString(output.Arch),
+ Os: __expectString(output.Os),
+ } as any;
+};
+
const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({
httpStatusCode: output.statusCode,
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"],
diff --git a/clients/client-machine-learning/src/endpoints.ts b/clients/client-machine-learning/src/endpoints.ts
index 96e48d3dd5f6..128d28f103b0 100644
--- a/clients/client-machine-learning/src/endpoints.ts
+++ b/clients/client-machine-learning/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-macie/src/endpoints.ts b/clients/client-macie/src/endpoints.ts
index 0301e3ed8d4f..485825bc7e81 100644
--- a/clients/client-macie/src/endpoints.ts
+++ b/clients/client-macie/src/endpoints.ts
@@ -39,6 +39,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-macie2/src/endpoints.ts b/clients/client-macie2/src/endpoints.ts
index 0bb89ef8ab7c..97abef2307d1 100644
--- a/clients/client-macie2/src/endpoints.ts
+++ b/clients/client-macie2/src/endpoints.ts
@@ -63,6 +63,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-managedblockchain/src/endpoints.ts b/clients/client-managedblockchain/src/endpoints.ts
index b9701d37450e..e057e758a810 100644
--- a/clients/client-managedblockchain/src/endpoints.ts
+++ b/clients/client-managedblockchain/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-marketplace-catalog/src/endpoints.ts b/clients/client-marketplace-catalog/src/endpoints.ts
index 3faaeb493547..f8120079306a 100644
--- a/clients/client-marketplace-catalog/src/endpoints.ts
+++ b/clients/client-marketplace-catalog/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-marketplace-commerce-analytics/src/endpoints.ts b/clients/client-marketplace-commerce-analytics/src/endpoints.ts
index da08fd0d1d0d..b8c114cdb57d 100644
--- a/clients/client-marketplace-commerce-analytics/src/endpoints.ts
+++ b/clients/client-marketplace-commerce-analytics/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-marketplace-entitlement-service/src/endpoints.ts b/clients/client-marketplace-entitlement-service/src/endpoints.ts
index 705bd801b541..77cbb2f48ac9 100644
--- a/clients/client-marketplace-entitlement-service/src/endpoints.ts
+++ b/clients/client-marketplace-entitlement-service/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-marketplace-metering/src/endpoints.ts b/clients/client-marketplace-metering/src/endpoints.ts
index dc1a298d4f82..4adb3b48c3c0 100644
--- a/clients/client-marketplace-metering/src/endpoints.ts
+++ b/clients/client-marketplace-metering/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mediaconnect/src/endpoints.ts b/clients/client-mediaconnect/src/endpoints.ts
index d2ca10e659d0..ef2e09b02a32 100644
--- a/clients/client-mediaconnect/src/endpoints.ts
+++ b/clients/client-mediaconnect/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mediaconnect/src/models/models_0.ts b/clients/client-mediaconnect/src/models/models_0.ts
index ab621859e59c..3d42718287ab 100644
--- a/clients/client-mediaconnect/src/models/models_0.ts
+++ b/clients/client-mediaconnect/src/models/models_0.ts
@@ -353,6 +353,7 @@ export namespace MediaStreamOutputConfigurationRequest {
export enum Protocol {
cdi = "cdi",
+ fujitsu_qos = "fujitsu-qos",
rist = "rist",
rtp = "rtp",
rtp_fec = "rtp-fec",
@@ -406,7 +407,7 @@ export interface AddOutputRequest {
Encryption?: Encryption;
/**
- * The maximum latency in milliseconds for Zixi-based streams.
+ * The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.
*/
MaxLatency?: number;
@@ -440,6 +441,11 @@ export interface AddOutputRequest {
*/
RemoteId?: string;
+ /**
+ * The port that the flow uses to send outbound requests to initiate connection with the sender.
+ */
+ SenderControlPort?: number;
+
/**
* The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
*/
@@ -1105,7 +1111,7 @@ export interface Transport {
MaxBitrate?: number;
/**
- * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
+ * The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.
*/
MaxLatency?: number;
@@ -1129,6 +1135,16 @@ export interface Transport {
*/
RemoteId?: string;
+ /**
+ * The port that the flow uses to send outbound requests to initiate connection with the sender.
+ */
+ SenderControlPort?: number;
+
+ /**
+ * The IP address that the flow communicates with to initiate connection with the sender.
+ */
+ SenderIpAddress?: string;
+
/**
* The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
*/
@@ -1344,7 +1360,7 @@ export interface SetSourceRequest {
MaxBitrate?: number;
/**
- * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
+ * The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.
*/
MaxLatency?: number;
@@ -1373,6 +1389,16 @@ export interface SetSourceRequest {
*/
Protocol?: Protocol | string;
+ /**
+ * The port that the flow uses to send outbound requests to initiate connection with the sender.
+ */
+ SenderControlPort?: number;
+
+ /**
+ * The IP address that the flow communicates with to initiate connection with the sender.
+ */
+ SenderIpAddress?: string;
+
/**
* The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams.
*/
@@ -1442,6 +1468,16 @@ export interface Source {
*/
Name: string | undefined;
+ /**
+ * The port that the flow uses to send outbound requests to initiate connection with the sender.
+ */
+ SenderControlPort?: number;
+
+ /**
+ * The IP address that the flow communicates with to initiate connection with the sender.
+ */
+ SenderIpAddress?: string;
+
/**
* The ARN of the source.
*/
@@ -1482,7 +1518,7 @@ export enum NetworkInterfaceType {
*/
export interface VpcInterface {
/**
- * Immutable and has to be a unique against other VpcInterfaces in this Flow
+ * Immutable and has to be a unique against other VpcInterfaces in this Flow.
*/
Name: string | undefined;
@@ -1938,7 +1974,7 @@ export enum State {
}
/**
- * The settings for source failover
+ * The settings for source failover.
*/
export interface FailoverConfig {
/**
@@ -2003,7 +2039,7 @@ export interface CreateFlowRequest {
Source?: SetSourceRequest;
/**
- * The settings for source failover
+ * The settings for source failover.
*/
SourceFailoverConfig?: FailoverConfig;
@@ -2073,7 +2109,7 @@ export interface Flow {
Source: Source | undefined;
/**
- * The settings for source failover
+ * The settings for source failover.
*/
SourceFailoverConfig?: FailoverConfig;
@@ -2917,7 +2953,7 @@ export namespace UntagResourceRequest {
}
/**
- * The settings for source failover
+ * The settings for source failover.
*/
export interface UpdateFailoverConfig {
/**
@@ -2957,7 +2993,7 @@ export interface UpdateFlowRequest {
FlowArn: string | undefined;
/**
- * The settings for source failover
+ * The settings for source failover.
*/
SourceFailoverConfig?: UpdateFailoverConfig;
}
@@ -3211,7 +3247,7 @@ export interface UpdateFlowOutputRequest {
FlowArn: string | undefined;
/**
- * The maximum latency in milliseconds for Zixi-based streams.
+ * The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.
*/
MaxLatency?: number;
@@ -3245,6 +3281,16 @@ export interface UpdateFlowOutputRequest {
*/
RemoteId?: string;
+ /**
+ * The port that the flow uses to send outbound requests to initiate connection with the sender.
+ */
+ SenderControlPort?: number;
+
+ /**
+ * The IP address that the flow communicates with to initiate connection with the sender.
+ */
+ SenderIpAddress?: string;
+
/**
* The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams.
*/
@@ -3326,7 +3372,7 @@ export interface UpdateFlowSourceRequest {
MaxBitrate?: number;
/**
- * The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams.
+ * The maximum latency in milliseconds. This parameter applies only to RIST-based, Zixi-based, and Fujitsu-based streams.
*/
MaxLatency?: number;
@@ -3350,6 +3396,16 @@ export interface UpdateFlowSourceRequest {
*/
Protocol?: Protocol | string;
+ /**
+ * The port that the flow uses to send outbound requests to initiate connection with the sender.
+ */
+ SenderControlPort?: number;
+
+ /**
+ * The IP address that the flow communicates with to initiate connection with the sender.
+ */
+ SenderIpAddress?: string;
+
/**
* The ARN of the source that you want to update.
*/
diff --git a/clients/client-mediaconnect/src/protocols/Aws_restJson1.ts b/clients/client-mediaconnect/src/protocols/Aws_restJson1.ts
index 69235b83b4b2..212d885e2bf6 100644
--- a/clients/client-mediaconnect/src/protocols/Aws_restJson1.ts
+++ b/clients/client-mediaconnect/src/protocols/Aws_restJson1.ts
@@ -1137,6 +1137,10 @@ export const serializeAws_restJson1UpdateFlowOutputCommand = async (
...(input.Port !== undefined && input.Port !== null && { port: input.Port }),
...(input.Protocol !== undefined && input.Protocol !== null && { protocol: input.Protocol }),
...(input.RemoteId !== undefined && input.RemoteId !== null && { remoteId: input.RemoteId }),
+ ...(input.SenderControlPort !== undefined &&
+ input.SenderControlPort !== null && { senderControlPort: input.SenderControlPort }),
+ ...(input.SenderIpAddress !== undefined &&
+ input.SenderIpAddress !== null && { senderIpAddress: input.SenderIpAddress }),
...(input.SmoothingLatency !== undefined &&
input.SmoothingLatency !== null && { smoothingLatency: input.SmoothingLatency }),
...(input.StreamId !== undefined && input.StreamId !== null && { streamId: input.StreamId }),
@@ -1204,6 +1208,10 @@ export const serializeAws_restJson1UpdateFlowSourceCommand = async (
}),
...(input.MinLatency !== undefined && input.MinLatency !== null && { minLatency: input.MinLatency }),
...(input.Protocol !== undefined && input.Protocol !== null && { protocol: input.Protocol }),
+ ...(input.SenderControlPort !== undefined &&
+ input.SenderControlPort !== null && { senderControlPort: input.SenderControlPort }),
+ ...(input.SenderIpAddress !== undefined &&
+ input.SenderIpAddress !== null && { senderIpAddress: input.SenderIpAddress }),
...(input.StreamId !== undefined && input.StreamId !== null && { streamId: input.StreamId }),
...(input.VpcInterfaceName !== undefined &&
input.VpcInterfaceName !== null && { vpcInterfaceName: input.VpcInterfaceName }),
@@ -4357,6 +4365,8 @@ const serializeAws_restJson1AddOutputRequest = (input: AddOutputRequest, context
...(input.Port !== undefined && input.Port !== null && { port: input.Port }),
...(input.Protocol !== undefined && input.Protocol !== null && { protocol: input.Protocol }),
...(input.RemoteId !== undefined && input.RemoteId !== null && { remoteId: input.RemoteId }),
+ ...(input.SenderControlPort !== undefined &&
+ input.SenderControlPort !== null && { senderControlPort: input.SenderControlPort }),
...(input.SmoothingLatency !== undefined &&
input.SmoothingLatency !== null && { smoothingLatency: input.SmoothingLatency }),
...(input.StreamId !== undefined && input.StreamId !== null && { streamId: input.StreamId }),
@@ -4546,6 +4556,10 @@ const serializeAws_restJson1SetSourceRequest = (input: SetSourceRequest, context
...(input.MinLatency !== undefined && input.MinLatency !== null && { minLatency: input.MinLatency }),
...(input.Name !== undefined && input.Name !== null && { name: input.Name }),
...(input.Protocol !== undefined && input.Protocol !== null && { protocol: input.Protocol }),
+ ...(input.SenderControlPort !== undefined &&
+ input.SenderControlPort !== null && { senderControlPort: input.SenderControlPort }),
+ ...(input.SenderIpAddress !== undefined &&
+ input.SenderIpAddress !== null && { senderIpAddress: input.SenderIpAddress }),
...(input.StreamId !== undefined && input.StreamId !== null && { streamId: input.StreamId }),
...(input.VpcInterfaceName !== undefined &&
input.VpcInterfaceName !== null && { vpcInterfaceName: input.VpcInterfaceName }),
@@ -5107,6 +5121,8 @@ const deserializeAws_restJson1Source = (output: any, context: __SerdeContext): S
)
: undefined,
Name: __expectString(output.name),
+ SenderControlPort: __expectInt32(output.senderControlPort),
+ SenderIpAddress: __expectString(output.senderIpAddress),
SourceArn: __expectString(output.sourceArn),
Transport:
output.transport !== undefined && output.transport !== null
@@ -5135,6 +5151,8 @@ const deserializeAws_restJson1Transport = (output: any, context: __SerdeContext)
MinLatency: __expectInt32(output.minLatency),
Protocol: __expectString(output.protocol),
RemoteId: __expectString(output.remoteId),
+ SenderControlPort: __expectInt32(output.senderControlPort),
+ SenderIpAddress: __expectString(output.senderIpAddress),
SmoothingLatency: __expectInt32(output.smoothingLatency),
StreamId: __expectString(output.streamId),
} as any;
diff --git a/clients/client-mediaconvert/src/endpoints.ts b/clients/client-mediaconvert/src/endpoints.ts
index 73fec5b5f65c..ba3e23d4ae58 100644
--- a/clients/client-mediaconvert/src/endpoints.ts
+++ b/clients/client-mediaconvert/src/endpoints.ts
@@ -93,6 +93,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-medialive/src/endpoints.ts b/clients/client-medialive/src/endpoints.ts
index acd73c56d5fe..33d92eef62ef 100644
--- a/clients/client-medialive/src/endpoints.ts
+++ b/clients/client-medialive/src/endpoints.ts
@@ -51,6 +51,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mediapackage-vod/src/endpoints.ts b/clients/client-mediapackage-vod/src/endpoints.ts
index 01027275a4fa..14d426eb4f34 100644
--- a/clients/client-mediapackage-vod/src/endpoints.ts
+++ b/clients/client-mediapackage-vod/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mediapackage/src/endpoints.ts b/clients/client-mediapackage/src/endpoints.ts
index 57a5a568dcd8..8b14506547de 100644
--- a/clients/client-mediapackage/src/endpoints.ts
+++ b/clients/client-mediapackage/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mediastore-data/src/endpoints.ts b/clients/client-mediastore-data/src/endpoints.ts
index 46fc621e2e0c..9258109e6545 100644
--- a/clients/client-mediastore-data/src/endpoints.ts
+++ b/clients/client-mediastore-data/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mediastore/src/endpoints.ts b/clients/client-mediastore/src/endpoints.ts
index cdbc4209319c..b7e28b969acd 100644
--- a/clients/client-mediastore/src/endpoints.ts
+++ b/clients/client-mediastore/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mediatailor/src/endpoints.ts b/clients/client-mediatailor/src/endpoints.ts
index f5751eb01f14..bb4544f8064d 100644
--- a/clients/client-mediatailor/src/endpoints.ts
+++ b/clients/client-mediatailor/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-memorydb/src/endpoints.ts b/clients/client-memorydb/src/endpoints.ts
index aec83334c6de..799bf8940ef2 100644
--- a/clients/client-memorydb/src/endpoints.ts
+++ b/clients/client-memorydb/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mgn/src/endpoints.ts b/clients/client-mgn/src/endpoints.ts
index d373ffcf33fa..7c25dcdc44ef 100644
--- a/clients/client-mgn/src/endpoints.ts
+++ b/clients/client-mgn/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-migration-hub-refactor-spaces/src/endpoints.ts b/clients/client-migration-hub-refactor-spaces/src/endpoints.ts
index 204c2c2787e0..be49bbce8224 100644
--- a/clients/client-migration-hub-refactor-spaces/src/endpoints.ts
+++ b/clients/client-migration-hub-refactor-spaces/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-migration-hub/src/endpoints.ts b/clients/client-migration-hub/src/endpoints.ts
index e2b5acb4b94b..4f4aa445fabe 100644
--- a/clients/client-migration-hub/src/endpoints.ts
+++ b/clients/client-migration-hub/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-migrationhub-config/src/endpoints.ts b/clients/client-migrationhub-config/src/endpoints.ts
index 500508f2df38..ef2b4a27e59d 100644
--- a/clients/client-migrationhub-config/src/endpoints.ts
+++ b/clients/client-migrationhub-config/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-migrationhubstrategy/src/endpoints.ts b/clients/client-migrationhubstrategy/src/endpoints.ts
index 74465c50c550..f9afc322b5a5 100644
--- a/clients/client-migrationhubstrategy/src/endpoints.ts
+++ b/clients/client-migrationhubstrategy/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mobile/src/endpoints.ts b/clients/client-mobile/src/endpoints.ts
index 418edc8287ea..b1923afd66be 100644
--- a/clients/client-mobile/src/endpoints.ts
+++ b/clients/client-mobile/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mq/src/endpoints.ts b/clients/client-mq/src/endpoints.ts
index 15a73a83535a..aa12df9bd512 100644
--- a/clients/client-mq/src/endpoints.ts
+++ b/clients/client-mq/src/endpoints.ts
@@ -87,6 +87,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mturk/src/endpoints.ts b/clients/client-mturk/src/endpoints.ts
index a9994650e087..21950fd19504 100644
--- a/clients/client-mturk/src/endpoints.ts
+++ b/clients/client-mturk/src/endpoints.ts
@@ -23,6 +23,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-mwaa/src/endpoints.ts b/clients/client-mwaa/src/endpoints.ts
index 4f0774ecf911..d09aa03c43e1 100644
--- a/clients/client-mwaa/src/endpoints.ts
+++ b/clients/client-mwaa/src/endpoints.ts
@@ -14,6 +14,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-neptune/src/endpoints.ts b/clients/client-neptune/src/endpoints.ts
index 473f6379e56b..57efad1a73d4 100644
--- a/clients/client-neptune/src/endpoints.ts
+++ b/clients/client-neptune/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"ca-central-1-fips",
"eu-central-1",
diff --git a/clients/client-network-firewall/src/NetworkFirewall.ts b/clients/client-network-firewall/src/NetworkFirewall.ts
index 7fab7eff1a14..ae3bf9a86e43 100644
--- a/clients/client-network-firewall/src/NetworkFirewall.ts
+++ b/clients/client-network-firewall/src/NetworkFirewall.ts
@@ -70,6 +70,11 @@ import {
DescribeRuleGroupCommandInput,
DescribeRuleGroupCommandOutput,
} from "./commands/DescribeRuleGroupCommand";
+import {
+ DescribeRuleGroupMetadataCommand,
+ DescribeRuleGroupMetadataCommandInput,
+ DescribeRuleGroupMetadataCommandOutput,
+} from "./commands/DescribeRuleGroupMetadataCommand";
import {
DisassociateSubnetsCommand,
DisassociateSubnetsCommandInput,
@@ -703,6 +708,41 @@ export class NetworkFirewall extends NetworkFirewallClient {
}
}
+ /**
+ * High-level information about a rule group, returned by operations like create and describe.
+ * You can use the information provided in the metadata to retrieve and manage a rule group.
+ * You can retrieve all objects for a rule group by calling DescribeRuleGroup.
+ *
+ */
+ public describeRuleGroupMetadata(
+ args: DescribeRuleGroupMetadataCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public describeRuleGroupMetadata(
+ args: DescribeRuleGroupMetadataCommandInput,
+ cb: (err: any, data?: DescribeRuleGroupMetadataCommandOutput) => void
+ ): void;
+ public describeRuleGroupMetadata(
+ args: DescribeRuleGroupMetadataCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DescribeRuleGroupMetadataCommandOutput) => void
+ ): void;
+ public describeRuleGroupMetadata(
+ args: DescribeRuleGroupMetadataCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeRuleGroupMetadataCommandOutput) => void),
+ cb?: (err: any, data?: DescribeRuleGroupMetadataCommandOutput) => void
+ ): Promise | void {
+ const command = new DescribeRuleGroupMetadataCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 specified subnet associations from the firewall. This removes the
* firewall endpoints from the subnets and removes any network filtering protections that the endpoints
@@ -1095,7 +1135,9 @@ export class NetworkFirewall extends NetworkFirewallClient {
}
/**
- *
+ * Modifies the flag, ChangeProtection
, which indicates whether it
+ * is possible to change the firewall. If the flag is set to TRUE
, the firewall is protected
+ * from changes. This setting helps protect against accidentally changing a firewall that's in use.
*/
public updateFirewallPolicyChangeProtection(
args: UpdateFirewallPolicyChangeProtectionCommandInput,
diff --git a/clients/client-network-firewall/src/NetworkFirewallClient.ts b/clients/client-network-firewall/src/NetworkFirewallClient.ts
index 4142e927d989..f58a8e1b2be8 100644
--- a/clients/client-network-firewall/src/NetworkFirewallClient.ts
+++ b/clients/client-network-firewall/src/NetworkFirewallClient.ts
@@ -84,6 +84,10 @@ import {
DescribeResourcePolicyCommandOutput,
} from "./commands/DescribeResourcePolicyCommand";
import { DescribeRuleGroupCommandInput, DescribeRuleGroupCommandOutput } from "./commands/DescribeRuleGroupCommand";
+import {
+ DescribeRuleGroupMetadataCommandInput,
+ DescribeRuleGroupMetadataCommandOutput,
+} from "./commands/DescribeRuleGroupMetadataCommand";
import {
DisassociateSubnetsCommandInput,
DisassociateSubnetsCommandOutput,
@@ -143,6 +147,7 @@ export type ServiceInputTypes =
| DescribeLoggingConfigurationCommandInput
| DescribeResourcePolicyCommandInput
| DescribeRuleGroupCommandInput
+ | DescribeRuleGroupMetadataCommandInput
| DisassociateSubnetsCommandInput
| ListFirewallPoliciesCommandInput
| ListFirewallsCommandInput
@@ -174,6 +179,7 @@ export type ServiceOutputTypes =
| DescribeLoggingConfigurationCommandOutput
| DescribeResourcePolicyCommandOutput
| DescribeRuleGroupCommandOutput
+ | DescribeRuleGroupMetadataCommandOutput
| DisassociateSubnetsCommandOutput
| ListFirewallPoliciesCommandOutput
| ListFirewallsCommandOutput
diff --git a/clients/client-network-firewall/src/commands/DescribeRuleGroupMetadataCommand.ts b/clients/client-network-firewall/src/commands/DescribeRuleGroupMetadataCommand.ts
new file mode 100644
index 000000000000..e8e6fd8ec4b7
--- /dev/null
+++ b/clients/client-network-firewall/src/commands/DescribeRuleGroupMetadataCommand.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 { DescribeRuleGroupMetadataRequest, DescribeRuleGroupMetadataResponse } from "../models/models_0";
+import { NetworkFirewallClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../NetworkFirewallClient";
+import {
+ deserializeAws_json1_0DescribeRuleGroupMetadataCommand,
+ serializeAws_json1_0DescribeRuleGroupMetadataCommand,
+} from "../protocols/Aws_json1_0";
+
+export interface DescribeRuleGroupMetadataCommandInput extends DescribeRuleGroupMetadataRequest {}
+export interface DescribeRuleGroupMetadataCommandOutput extends DescribeRuleGroupMetadataResponse, __MetadataBearer {}
+
+/**
+ * High-level information about a rule group, returned by operations like create and describe.
+ * You can use the information provided in the metadata to retrieve and manage a rule group.
+ * You can retrieve all objects for a rule group by calling DescribeRuleGroup.
+ *
+ * @example
+ * Use a bare-bones client and the command you need to make an API call.
+ * ```javascript
+ * import { NetworkFirewallClient, DescribeRuleGroupMetadataCommand } from "@aws-sdk/client-network-firewall"; // ES Modules import
+ * // const { NetworkFirewallClient, DescribeRuleGroupMetadataCommand } = require("@aws-sdk/client-network-firewall"); // CommonJS import
+ * const client = new NetworkFirewallClient(config);
+ * const command = new DescribeRuleGroupMetadataCommand(input);
+ * const response = await client.send(command);
+ * ```
+ *
+ * @see {@link DescribeRuleGroupMetadataCommandInput} for command's `input` shape.
+ * @see {@link DescribeRuleGroupMetadataCommandOutput} for command's `response` shape.
+ * @see {@link NetworkFirewallClientResolvedConfig | config} for NetworkFirewallClient's `config` shape.
+ *
+ */
+export class DescribeRuleGroupMetadataCommand extends $Command<
+ DescribeRuleGroupMetadataCommandInput,
+ DescribeRuleGroupMetadataCommandOutput,
+ NetworkFirewallClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DescribeRuleGroupMetadataCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ /**
+ * @internal
+ */
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: NetworkFirewallClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const { logger } = configuration;
+ const clientName = "NetworkFirewallClient";
+ const commandName = "DescribeRuleGroupMetadataCommand";
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger,
+ clientName,
+ commandName,
+ inputFilterSensitiveLog: DescribeRuleGroupMetadataRequest.filterSensitiveLog,
+ outputFilterSensitiveLog: DescribeRuleGroupMetadataResponse.filterSensitiveLog,
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(input: DescribeRuleGroupMetadataCommandInput, context: __SerdeContext): Promise<__HttpRequest> {
+ return serializeAws_json1_0DescribeRuleGroupMetadataCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: __SerdeContext
+ ): Promise {
+ return deserializeAws_json1_0DescribeRuleGroupMetadataCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-network-firewall/src/commands/UpdateFirewallPolicyChangeProtectionCommand.ts b/clients/client-network-firewall/src/commands/UpdateFirewallPolicyChangeProtectionCommand.ts
index cf4f51d2adaa..bbb44adcb879 100644
--- a/clients/client-network-firewall/src/commands/UpdateFirewallPolicyChangeProtectionCommand.ts
+++ b/clients/client-network-firewall/src/commands/UpdateFirewallPolicyChangeProtectionCommand.ts
@@ -27,7 +27,9 @@ export interface UpdateFirewallPolicyChangeProtectionCommandOutput
__MetadataBearer {}
/**
- *
+ * Modifies the flag, ChangeProtection
, which indicates whether it
+ * is possible to change the firewall. If the flag is set to TRUE
, the firewall is protected
+ * from changes. This setting helps protect against accidentally changing a firewall that's in use.
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
diff --git a/clients/client-network-firewall/src/commands/index.ts b/clients/client-network-firewall/src/commands/index.ts
index 1bb4f7874308..92da4e176faf 100644
--- a/clients/client-network-firewall/src/commands/index.ts
+++ b/clients/client-network-firewall/src/commands/index.ts
@@ -12,6 +12,7 @@ export * from "./DescribeFirewallPolicyCommand";
export * from "./DescribeLoggingConfigurationCommand";
export * from "./DescribeResourcePolicyCommand";
export * from "./DescribeRuleGroupCommand";
+export * from "./DescribeRuleGroupMetadataCommand";
export * from "./DisassociateSubnetsCommand";
export * from "./ListFirewallPoliciesCommand";
export * from "./ListFirewallsCommand";
diff --git a/clients/client-network-firewall/src/endpoints.ts b/clients/client-network-firewall/src/endpoints.ts
index 6830d2de26e4..1246a4da3836 100644
--- a/clients/client-network-firewall/src/endpoints.ts
+++ b/clients/client-network-firewall/src/endpoints.ts
@@ -99,6 +99,7 @@ const partitionHash: PartitionHash = {
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
+ "ap-southeast-3",
"ca-central-1",
"eu-central-1",
"eu-north-1",
diff --git a/clients/client-network-firewall/src/models/models_0.ts b/clients/client-network-firewall/src/models/models_0.ts
index 8c93a392e6c7..dec455bd9304 100644
--- a/clients/client-network-firewall/src/models/models_0.ts
+++ b/clients/client-network-firewall/src/models/models_0.ts
@@ -807,11 +807,11 @@ export enum RuleOrder {
*/
export interface StatefulEngineOptions {
/**
- * Indicates how to manage the order of stateful rule evaluation for the policy. By default, Network Firewall
- * leaves the rule evaluation order up to the Suricata rule processing engine. If you set
- * this to STRICT_ORDER
, your rules are evaluated in the exact order that you provide them
- * in the policy. With strict ordering, the rule groups are evaluated by order of priority, starting from the lowest number, and
- * the rules in each rule group are processed in the order that they're defined.
+ * Indicates how to manage the order of stateful rule evaluation for the policy. DEFAULT_ACTION_ORDER
is
+ * the default behavior. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them
+ * based on certain settings. For more information, see
+ * Evaluation order for stateful rules in the AWS Network Firewall Developer Guide.
+ *
*/
RuleOrder?: RuleOrder | string;
}
@@ -825,6 +825,30 @@ export namespace StatefulEngineOptions {
});
}
+export enum OverrideAction {
+ DROP_TO_ALERT = "DROP_TO_ALERT",
+}
+
+/**
+ * The setting that allows the policy owner to change the behavior of the rule group within a policy.
+ */
+export interface StatefulRuleGroupOverride {
+ /**
+ * The action that changes the rule group from DROP
to ALERT
. This only applies to
+ * managed rule groups.
+ */
+ Action?: OverrideAction | string;
+}
+
+export namespace StatefulRuleGroupOverride {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: StatefulRuleGroupOverride): any => ({
+ ...obj,
+ });
+}
+
/**
* Identifier for a single stateful rule group, used in a firewall policy to refer to a
* rule group.
@@ -847,6 +871,11 @@ export interface StatefulRuleGroupReference {
* 200, and so on.
*/
Priority?: number;
+
+ /**
+ * The action that allows the policy owner to override the behavior of the rule group within a policy.
+ */
+ Override?: StatefulRuleGroupOverride;
}
export namespace StatefulRuleGroupReference {
@@ -985,7 +1014,26 @@ export interface FirewallPolicy {
StatefulRuleGroupReferences?: StatefulRuleGroupReference[];
/**
- * The default actions to take on a packet that doesn't match any stateful rules.
+ * The default actions to take on a packet that doesn't match any stateful rules. The stateful default action is optional,
+ * and is only valid when using the strict rule order.
+ * Valid values of the stateful default action:
+ *
+ * -
+ *
aws:drop_strict
+ *
+ * -
+ *
aws:drop_established
+ *
+ * -
+ *
aws:alert_strict
+ *
+ * -
+ *
aws:alert_established
+ *
+ *
+ * For more information, see
+ * Strict evaluation order in the AWS Network Firewall Developer Guide.
+ *
*/
StatefulDefaultActions?: string[];
@@ -1156,8 +1204,7 @@ export enum TargetType {
*/
export interface RulesSourceList {
/**
- * The domains that you want to inspect for in your traffic flows. To provide multiple
- * domains, separate them with commas. Valid domain specifications are the following:
+ * The domains that you want to inspect for in your traffic flows. Valid domain specifications are the following:
*
* -
*
Explicit names. For example, abc.example.com
matches only the domain abc.example.com
.
@@ -1753,10 +1800,11 @@ export namespace RuleVariables {
*/
export interface StatefulRuleOptions {
/**
- * Indicates how to manage the order of the rule evaluation for the rule group. By default, Network Firewall
- * leaves the rule evaluation order up to the Suricata rule processing engine. If you set
- * this to STRICT_ORDER
, your rules are evaluated in the exact order that they're listed
- * in your Suricata rules string.
+ * Indicates how to manage the order of the rule evaluation for the rule group. DEFAULT_ACTION_ORDER
is
+ * the default behavior. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them
+ * based on certain settings. For more information, see
+ * Evaluation order for stateful rules in the AWS Network Firewall Developer Guide.
+ *
*/
RuleOrder?: RuleOrder | string;
}
@@ -2549,6 +2597,90 @@ export namespace DescribeRuleGroupResponse {
});
}
+export interface DescribeRuleGroupMetadataRequest {
+ /**
+ * The descriptive name of the rule group. You can't change the name of a rule group after you create it.
+ * You must specify the ARN or the name, and you can specify both.
+ */
+ RuleGroupName?: string;
+
+ /**
+ * The descriptive name of the rule group. You can't change the name of a rule group after you create it.
+ * You must specify the ARN or the name, and you can specify both.
+ */
+ RuleGroupArn?: string;
+
+ /**
+ * Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
+ * stateless rules. If it is stateful, it contains stateful rules.
+ *
+ * This setting is required for requests that do not include the RuleGroupARN
.
+ *
+ */
+ Type?: RuleGroupType | string;
+}
+
+export namespace DescribeRuleGroupMetadataRequest {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DescribeRuleGroupMetadataRequest): any => ({
+ ...obj,
+ });
+}
+
+export interface DescribeRuleGroupMetadataResponse {
+ /**
+ * The descriptive name of the rule group. You can't change the name of a rule group after you create it.
+ * You must specify the ARN or the name, and you can specify both.
+ */
+ RuleGroupArn: string | undefined;
+
+ /**
+ * The descriptive name of the rule group. You can't change the name of a rule group after you create it.
+ * You must specify the ARN or the name, and you can specify both.
+ */
+ RuleGroupName: string | undefined;
+
+ /**
+ * Returns the metadata objects for the specified rule group.
+ *
+ */
+ Description?: string;
+
+ /**
+ * Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains
+ * stateless rules. If it is stateful, it contains stateful rules.
+ *
+ * This setting is required for requests that do not include the RuleGroupARN
.
+ *
+ */
+ Type?: RuleGroupType | string;
+
+ /**
+ * The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation.
+ * When you update a rule group, you are limited to this capacity. When you reference a rule group
+ * from a firewall policy, Network Firewall reserves this capacity for the rule group.
+ * You can retrieve the capacity that would be required for a rule group before you create the rule group by calling
+ * CreateRuleGroup with DryRun
set to TRUE
.
+ */
+ Capacity?: number;
+
+ /**
+ * Additional options governing how Network Firewall handles the rule group. You can only use these for stateful rule groups.
+ */
+ StatefulRuleOptions?: StatefulRuleOptions;
+}
+
+export namespace DescribeRuleGroupMetadataResponse {
+ /**
+ * @internal
+ */
+ export const filterSensitiveLog = (obj: DescribeRuleGroupMetadataResponse): any => ({
+ ...obj,
+ });
+}
+
export interface DisassociateSubnetsRequest {
/**
* An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.
@@ -2774,6 +2906,11 @@ export namespace ListFirewallsResponse {
});
}
+export enum ResourceManagedStatus {
+ ACCOUNT = "ACCOUNT",
+ MANAGED = "MANAGED",
+}
+
export interface ListRuleGroupsRequest {
/**
* When you request a list of objects with a MaxResults
setting, if the number of objects that are still available
@@ -2788,6 +2925,13 @@ export interface ListRuleGroupsRequest {
* NextToken
value that you can use in a subsequent call to get the next batch of objects.
*/
MaxResults?: number;
+
+ /**
+ * The scope of the request. The default setting of ACCOUNT
or a setting of
+ * NULL
returns all of the rule groups in your account. A setting of
+ * MANAGED
returns all available managed rule groups.
+ */
+ Scope?: ResourceManagedStatus | string;
}
export namespace ListRuleGroupsRequest {
@@ -3112,7 +3256,9 @@ export interface UpdateFirewallDeleteProtectionResponse {
FirewallName?: string;
/**
- *
+ * A flag indicating whether it is possible to delete the firewall. A setting of TRUE
indicates
+ * that the firewall is protected against deletion. Use this setting to protect against
+ * accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to TRUE
.
*/
DeleteProtection?: boolean;
diff --git a/clients/client-network-firewall/src/protocols/Aws_json1_0.ts b/clients/client-network-firewall/src/protocols/Aws_json1_0.ts
index 6b5c5bc7ad91..b33eab6c0122 100644
--- a/clients/client-network-firewall/src/protocols/Aws_json1_0.ts
+++ b/clients/client-network-firewall/src/protocols/Aws_json1_0.ts
@@ -48,6 +48,10 @@ import {
DescribeResourcePolicyCommandOutput,
} from "../commands/DescribeResourcePolicyCommand";
import { DescribeRuleGroupCommandInput, DescribeRuleGroupCommandOutput } from "../commands/DescribeRuleGroupCommand";
+import {
+ DescribeRuleGroupMetadataCommandInput,
+ DescribeRuleGroupMetadataCommandOutput,
+} from "../commands/DescribeRuleGroupMetadataCommand";
import {
DisassociateSubnetsCommandInput,
DisassociateSubnetsCommandOutput,
@@ -121,6 +125,8 @@ import {
DescribeLoggingConfigurationResponse,
DescribeResourcePolicyRequest,
DescribeResourcePolicyResponse,
+ DescribeRuleGroupMetadataRequest,
+ DescribeRuleGroupMetadataResponse,
DescribeRuleGroupRequest,
DescribeRuleGroupResponse,
Dimension,
@@ -171,6 +177,7 @@ import {
RuleVariables,
StatefulEngineOptions,
StatefulRule,
+ StatefulRuleGroupOverride,
StatefulRuleGroupReference,
StatefulRuleOptions,
StatelessRule,
@@ -386,6 +393,19 @@ export const serializeAws_json1_0DescribeRuleGroupCommand = async (
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
+export const serializeAws_json1_0DescribeRuleGroupMetadataCommand = async (
+ input: DescribeRuleGroupMetadataCommandInput,
+ context: __SerdeContext
+): Promise<__HttpRequest> => {
+ const headers: __HeaderBag = {
+ "content-type": "application/x-amz-json-1.0",
+ "x-amz-target": "NetworkFirewall_20201112.DescribeRuleGroupMetadata",
+ };
+ let body: any;
+ body = JSON.stringify(serializeAws_json1_0DescribeRuleGroupMetadataRequest(input, context));
+ return buildHttpRpcRequest(context, headers, "/", undefined, body);
+};
+
export const serializeAws_json1_0DisassociateSubnetsCommand = async (
input: DisassociateSubnetsCommandInput,
context: __SerdeContext
@@ -1801,6 +1821,84 @@ const deserializeAws_json1_0DescribeRuleGroupCommandError = async (
return Promise.reject(Object.assign(new Error(message), response));
};
+export const deserializeAws_json1_0DescribeRuleGroupMetadataCommand = async (
+ output: __HttpResponse,
+ context: __SerdeContext
+): Promise => {
+ if (output.statusCode >= 300) {
+ return deserializeAws_json1_0DescribeRuleGroupMetadataCommandError(output, context);
+ }
+ const data: any = await parseBody(output.body, context);
+ let contents: any = {};
+ contents = deserializeAws_json1_0DescribeRuleGroupMetadataResponse(data, context);
+ const response: DescribeRuleGroupMetadataCommandOutput = {
+ $metadata: deserializeMetadata(output),
+ ...contents,
+ };
+ return Promise.resolve(response);
+};
+
+const deserializeAws_json1_0DescribeRuleGroupMetadataCommandError = async (
+ 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 "InternalServerError":
+ case "com.amazonaws.networkfirewall#InternalServerError":
+ response = {
+ ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "InvalidRequestException":
+ case "com.amazonaws.networkfirewall#InvalidRequestException":
+ response = {
+ ...(await deserializeAws_json1_0InvalidRequestExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ResourceNotFoundException":
+ case "com.amazonaws.networkfirewall#ResourceNotFoundException":
+ response = {
+ ...(await deserializeAws_json1_0ResourceNotFoundExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ case "ThrottlingException":
+ case "com.amazonaws.networkfirewall#ThrottlingException":
+ response = {
+ ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
+ default:
+ const parsedBody = parsedOutput.body;
+ errorCode = parsedBody.code || parsedBody.Code || errorCode;
+ response = {
+ ...parsedBody,
+ name: `${errorCode}`,
+ message: parsedBody.message || parsedBody.Message || errorCode,
+ $fault: "client",
+ $metadata: deserializeMetadata(output),
+ } as any;
+ }
+ const 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_0DisassociateSubnetsCommand = async (
output: __HttpResponse,
context: __SerdeContext
@@ -2134,6 +2232,14 @@ const deserializeAws_json1_0ListTagsForResourceCommandError = async (
let errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
switch (errorCode) {
+ case "InternalServerError":
+ case "com.amazonaws.networkfirewall#InternalServerError":
+ response = {
+ ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
case "InvalidRequestException":
case "com.amazonaws.networkfirewall#InvalidRequestException":
response = {
@@ -2150,6 +2256,14 @@ const deserializeAws_json1_0ListTagsForResourceCommandError = async (
$metadata: deserializeMetadata(output),
};
break;
+ case "ThrottlingException":
+ case "com.amazonaws.networkfirewall#ThrottlingException":
+ response = {
+ ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
default:
const parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;
@@ -2282,6 +2396,14 @@ const deserializeAws_json1_0TagResourceCommandError = async (
let errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
switch (errorCode) {
+ case "InternalServerError":
+ case "com.amazonaws.networkfirewall#InternalServerError":
+ response = {
+ ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
case "InvalidRequestException":
case "com.amazonaws.networkfirewall#InvalidRequestException":
response = {
@@ -2298,6 +2420,14 @@ const deserializeAws_json1_0TagResourceCommandError = async (
$metadata: deserializeMetadata(output),
};
break;
+ case "ThrottlingException":
+ case "com.amazonaws.networkfirewall#ThrottlingException":
+ response = {
+ ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
default:
const parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;
@@ -2344,6 +2474,14 @@ const deserializeAws_json1_0UntagResourceCommandError = async (
let errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
switch (errorCode) {
+ case "InternalServerError":
+ case "com.amazonaws.networkfirewall#InternalServerError":
+ response = {
+ ...(await deserializeAws_json1_0InternalServerErrorResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
case "InvalidRequestException":
case "com.amazonaws.networkfirewall#InvalidRequestException":
response = {
@@ -2360,6 +2498,14 @@ const deserializeAws_json1_0UntagResourceCommandError = async (
$metadata: deserializeMetadata(output),
};
break;
+ case "ThrottlingException":
+ case "com.amazonaws.networkfirewall#ThrottlingException":
+ response = {
+ ...(await deserializeAws_json1_0ThrottlingExceptionResponse(parsedOutput, context)),
+ name: errorCode,
+ $metadata: deserializeMetadata(output),
+ };
+ break;
default:
const parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;
@@ -3403,6 +3549,17 @@ const serializeAws_json1_0DescribeResourcePolicyRequest = (
};
};
+const serializeAws_json1_0DescribeRuleGroupMetadataRequest = (
+ input: DescribeRuleGroupMetadataRequest,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.RuleGroupArn !== undefined && input.RuleGroupArn !== null && { RuleGroupArn: input.RuleGroupArn }),
+ ...(input.RuleGroupName !== undefined && input.RuleGroupName !== null && { RuleGroupName: input.RuleGroupName }),
+ ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }),
+ };
+};
+
const serializeAws_json1_0DescribeRuleGroupRequest = (
input: DescribeRuleGroupRequest,
context: __SerdeContext
@@ -3553,6 +3710,7 @@ const serializeAws_json1_0ListRuleGroupsRequest = (input: ListRuleGroupsRequest,
return {
...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }),
...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }),
+ ...(input.Scope !== undefined && input.Scope !== null && { Scope: input.Scope }),
};
};
@@ -3832,11 +3990,22 @@ const serializeAws_json1_0StatefulRule = (input: StatefulRule, context: __SerdeC
};
};
+const serializeAws_json1_0StatefulRuleGroupOverride = (
+ input: StatefulRuleGroupOverride,
+ context: __SerdeContext
+): any => {
+ return {
+ ...(input.Action !== undefined && input.Action !== null && { Action: input.Action }),
+ };
+};
+
const serializeAws_json1_0StatefulRuleGroupReference = (
input: StatefulRuleGroupReference,
context: __SerdeContext
): any => {
return {
+ ...(input.Override !== undefined &&
+ input.Override !== null && { Override: serializeAws_json1_0StatefulRuleGroupOverride(input.Override, context) }),
...(input.Priority !== undefined && input.Priority !== null && { Priority: input.Priority }),
...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }),
};
@@ -4380,6 +4549,23 @@ const deserializeAws_json1_0DescribeResourcePolicyResponse = (
} as any;
};
+const deserializeAws_json1_0DescribeRuleGroupMetadataResponse = (
+ output: any,
+ context: __SerdeContext
+): DescribeRuleGroupMetadataResponse => {
+ return {
+ Capacity: __expectInt32(output.Capacity),
+ Description: __expectString(output.Description),
+ RuleGroupArn: __expectString(output.RuleGroupArn),
+ RuleGroupName: __expectString(output.RuleGroupName),
+ StatefulRuleOptions:
+ output.StatefulRuleOptions !== undefined && output.StatefulRuleOptions !== null
+ ? deserializeAws_json1_0StatefulRuleOptions(output.StatefulRuleOptions, context)
+ : undefined,
+ Type: __expectString(output.Type),
+ } as any;
+};
+
const deserializeAws_json1_0DescribeRuleGroupResponse = (
output: any,
context: __SerdeContext
@@ -5048,11 +5234,24 @@ const deserializeAws_json1_0StatefulRule = (output: any, context: __SerdeContext
} as any;
};
+const deserializeAws_json1_0StatefulRuleGroupOverride = (
+ output: any,
+ context: __SerdeContext
+): StatefulRuleGroupOverride => {
+ return {
+ Action: __expectString(output.Action),
+ } as any;
+};
+
const deserializeAws_json1_0StatefulRuleGroupReference = (
output: any,
context: __SerdeContext
): StatefulRuleGroupReference => {
return {
+ Override:
+ output.Override !== undefined && output.Override !== null
+ ? deserializeAws_json1_0StatefulRuleGroupOverride(output.Override, context)
+ : undefined,
Priority: __expectInt32(output.Priority),
ResourceArn: __expectString(output.ResourceArn),
} as any;
diff --git a/clients/client-networkmanager/README.md b/clients/client-networkmanager/README.md
index cd1443b9b9ee..7cb54d36f7be 100644
--- a/clients/client-networkmanager/README.md
+++ b/clients/client-networkmanager/README.md
@@ -25,16 +25,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 `NetworkManagerClient` and
-the commands you need, for example `AssociateCustomerGatewayCommand`:
+the commands you need, for example `AcceptAttachmentCommand`:
```js
// ES5 example
-const { NetworkManagerClient, AssociateCustomerGatewayCommand } = require("@aws-sdk/client-networkmanager");
+const { NetworkManagerClient, AcceptAttachmentCommand } = require("@aws-sdk/client-networkmanager");
```
```ts
// ES6+ example
-import { NetworkManagerClient, AssociateCustomerGatewayCommand } from "@aws-sdk/client-networkmanager";
+import { NetworkManagerClient, AcceptAttachmentCommand } from "@aws-sdk/client-networkmanager";
```
### Usage
@@ -53,7 +53,7 @@ const client = new NetworkManagerClient({ region: "REGION" });
const params = {
/** input parameters */
};
-const command = new AssociateCustomerGatewayCommand(params);
+const command = new AcceptAttachmentCommand(params);
```
#### Async/await
@@ -132,7 +132,7 @@ const client = new AWS.NetworkManager({ region: "REGION" });
// async/await.
try {
- const data = await client.associateCustomerGateway(params);
+ const data = await client.acceptAttachment(params);
// process data.
} catch (error) {
// error handling.
@@ -140,7 +140,7 @@ try {
// Promises.
client
- .associateCustomerGateway(params)
+ .acceptAttachment(params)
.then((data) => {
// process data.
})
@@ -149,7 +149,7 @@ client
});
// callbacks.
-client.associateCustomerGateway(params, (err, data) => {
+client.acceptAttachment(params, (err, data) => {
// proccess err and data.
});
```
diff --git a/clients/client-networkmanager/package.json b/clients/client-networkmanager/package.json
index 0065bf1828c0..f02de8a639ac 100644
--- a/clients/client-networkmanager/package.json
+++ b/clients/client-networkmanager/package.json
@@ -49,11 +49,13 @@
"@aws-sdk/util-user-agent-node": "3.40.0",
"@aws-sdk/util-utf8-browser": "3.37.0",
"@aws-sdk/util-utf8-node": "3.37.0",
- "tslib": "^2.3.0"
+ "tslib": "^2.3.0",
+ "uuid": "^8.3.2"
},
"devDependencies": {
"@aws-sdk/service-client-documentation-generator": "3.38.0",
"@types/node": "^12.7.5",
+ "@types/uuid": "^8.3.0",
"downlevel-dts": "0.7.0",
"jest": "^26.1.0",
"rimraf": "^3.0.0",
diff --git a/clients/client-networkmanager/src/NetworkManager.ts b/clients/client-networkmanager/src/NetworkManager.ts
index 0c962df22424..e41f77b662ca 100644
--- a/clients/client-networkmanager/src/NetworkManager.ts
+++ b/clients/client-networkmanager/src/NetworkManager.ts
@@ -1,5 +1,15 @@
import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types";
+import {
+ AcceptAttachmentCommand,
+ AcceptAttachmentCommandInput,
+ AcceptAttachmentCommandOutput,
+} from "./commands/AcceptAttachmentCommand";
+import {
+ AssociateConnectPeerCommand,
+ AssociateConnectPeerCommandInput,
+ AssociateConnectPeerCommandOutput,
+} from "./commands/AssociateConnectPeerCommand";
import {
AssociateCustomerGatewayCommand,
AssociateCustomerGatewayCommandInput,
@@ -15,11 +25,26 @@ import {
AssociateTransitGatewayConnectPeerCommandInput,
AssociateTransitGatewayConnectPeerCommandOutput,
} from "./commands/AssociateTransitGatewayConnectPeerCommand";
+import {
+ CreateConnectAttachmentCommand,
+ CreateConnectAttachmentCommandInput,
+ CreateConnectAttachmentCommandOutput,
+} from "./commands/CreateConnectAttachmentCommand";
import {
CreateConnectionCommand,
CreateConnectionCommandInput,
CreateConnectionCommandOutput,
} from "./commands/CreateConnectionCommand";
+import {
+ CreateConnectPeerCommand,
+ CreateConnectPeerCommandInput,
+ CreateConnectPeerCommandOutput,
+} from "./commands/CreateConnectPeerCommand";
+import {
+ CreateCoreNetworkCommand,
+ CreateCoreNetworkCommandInput,
+ CreateCoreNetworkCommandOutput,
+} from "./commands/CreateCoreNetworkCommand";
import {
CreateDeviceCommand,
CreateDeviceCommandInput,
@@ -32,11 +57,41 @@ import {
} from "./commands/CreateGlobalNetworkCommand";
import { CreateLinkCommand, CreateLinkCommandInput, CreateLinkCommandOutput } from "./commands/CreateLinkCommand";
import { CreateSiteCommand, CreateSiteCommandInput, CreateSiteCommandOutput } from "./commands/CreateSiteCommand";
+import {
+ CreateSiteToSiteVpnAttachmentCommand,
+ CreateSiteToSiteVpnAttachmentCommandInput,
+ CreateSiteToSiteVpnAttachmentCommandOutput,
+} from "./commands/CreateSiteToSiteVpnAttachmentCommand";
+import {
+ CreateVpcAttachmentCommand,
+ CreateVpcAttachmentCommandInput,
+ CreateVpcAttachmentCommandOutput,
+} from "./commands/CreateVpcAttachmentCommand";
+import {
+ DeleteAttachmentCommand,
+ DeleteAttachmentCommandInput,
+ DeleteAttachmentCommandOutput,
+} from "./commands/DeleteAttachmentCommand";
import {
DeleteConnectionCommand,
DeleteConnectionCommandInput,
DeleteConnectionCommandOutput,
} from "./commands/DeleteConnectionCommand";
+import {
+ DeleteConnectPeerCommand,
+ DeleteConnectPeerCommandInput,
+ DeleteConnectPeerCommandOutput,
+} from "./commands/DeleteConnectPeerCommand";
+import {
+ DeleteCoreNetworkCommand,
+ DeleteCoreNetworkCommandInput,
+ DeleteCoreNetworkCommandOutput,
+} from "./commands/DeleteCoreNetworkCommand";
+import {
+ DeleteCoreNetworkPolicyVersionCommand,
+ DeleteCoreNetworkPolicyVersionCommandInput,
+ DeleteCoreNetworkPolicyVersionCommandOutput,
+} from "./commands/DeleteCoreNetworkPolicyVersionCommand";
import {
DeleteDeviceCommand,
DeleteDeviceCommandInput,
@@ -48,6 +103,11 @@ import {
DeleteGlobalNetworkCommandOutput,
} from "./commands/DeleteGlobalNetworkCommand";
import { DeleteLinkCommand, DeleteLinkCommandInput, DeleteLinkCommandOutput } from "./commands/DeleteLinkCommand";
+import {
+ DeleteResourcePolicyCommand,
+ DeleteResourcePolicyCommandInput,
+ DeleteResourcePolicyCommandOutput,
+} from "./commands/DeleteResourcePolicyCommand";
import { DeleteSiteCommand, DeleteSiteCommandInput, DeleteSiteCommandOutput } from "./commands/DeleteSiteCommand";
import {
DeregisterTransitGatewayCommand,
@@ -59,6 +119,11 @@ import {
DescribeGlobalNetworksCommandInput,
DescribeGlobalNetworksCommandOutput,
} from "./commands/DescribeGlobalNetworksCommand";
+import {
+ DisassociateConnectPeerCommand,
+ DisassociateConnectPeerCommandInput,
+ DisassociateConnectPeerCommandOutput,
+} from "./commands/DisassociateConnectPeerCommand";
import {
DisassociateCustomerGatewayCommand,
DisassociateCustomerGatewayCommandInput,
@@ -74,11 +139,46 @@ import {
DisassociateTransitGatewayConnectPeerCommandInput,
DisassociateTransitGatewayConnectPeerCommandOutput,
} from "./commands/DisassociateTransitGatewayConnectPeerCommand";
+import {
+ ExecuteCoreNetworkChangeSetCommand,
+ ExecuteCoreNetworkChangeSetCommandInput,
+ ExecuteCoreNetworkChangeSetCommandOutput,
+} from "./commands/ExecuteCoreNetworkChangeSetCommand";
+import {
+ GetConnectAttachmentCommand,
+ GetConnectAttachmentCommandInput,
+ GetConnectAttachmentCommandOutput,
+} from "./commands/GetConnectAttachmentCommand";
import {
GetConnectionsCommand,
GetConnectionsCommandInput,
GetConnectionsCommandOutput,
} from "./commands/GetConnectionsCommand";
+import {
+ GetConnectPeerAssociationsCommand,
+ GetConnectPeerAssociationsCommandInput,
+ GetConnectPeerAssociationsCommandOutput,
+} from "./commands/GetConnectPeerAssociationsCommand";
+import {
+ GetConnectPeerCommand,
+ GetConnectPeerCommandInput,
+ GetConnectPeerCommandOutput,
+} from "./commands/GetConnectPeerCommand";
+import {
+ GetCoreNetworkChangeSetCommand,
+ GetCoreNetworkChangeSetCommandInput,
+ GetCoreNetworkChangeSetCommandOutput,
+} from "./commands/GetCoreNetworkChangeSetCommand";
+import {
+ GetCoreNetworkCommand,
+ GetCoreNetworkCommandInput,
+ GetCoreNetworkCommandOutput,
+} from "./commands/GetCoreNetworkCommand";
+import {
+ GetCoreNetworkPolicyCommand,
+ GetCoreNetworkPolicyCommandInput,
+ GetCoreNetworkPolicyCommandOutput,
+} from "./commands/GetCoreNetworkPolicyCommand";
import {
GetCustomerGatewayAssociationsCommand,
GetCustomerGatewayAssociationsCommandInput,
@@ -116,12 +216,22 @@ import {
GetNetworkTelemetryCommandInput,
GetNetworkTelemetryCommandOutput,
} from "./commands/GetNetworkTelemetryCommand";
+import {
+ GetResourcePolicyCommand,
+ GetResourcePolicyCommandInput,
+ GetResourcePolicyCommandOutput,
+} from "./commands/GetResourcePolicyCommand";
import {
GetRouteAnalysisCommand,
GetRouteAnalysisCommandInput,
GetRouteAnalysisCommandOutput,
} from "./commands/GetRouteAnalysisCommand";
import { GetSitesCommand, GetSitesCommandInput, GetSitesCommandOutput } from "./commands/GetSitesCommand";
+import {
+ GetSiteToSiteVpnAttachmentCommand,
+ GetSiteToSiteVpnAttachmentCommandInput,
+ GetSiteToSiteVpnAttachmentCommandOutput,
+} from "./commands/GetSiteToSiteVpnAttachmentCommand";
import {
GetTransitGatewayConnectPeerAssociationsCommand,
GetTransitGatewayConnectPeerAssociationsCommandInput,
@@ -132,16 +242,61 @@ import {
GetTransitGatewayRegistrationsCommandInput,
GetTransitGatewayRegistrationsCommandOutput,
} from "./commands/GetTransitGatewayRegistrationsCommand";
+import {
+ GetVpcAttachmentCommand,
+ GetVpcAttachmentCommandInput,
+ GetVpcAttachmentCommandOutput,
+} from "./commands/GetVpcAttachmentCommand";
+import {
+ ListAttachmentsCommand,
+ ListAttachmentsCommandInput,
+ ListAttachmentsCommandOutput,
+} from "./commands/ListAttachmentsCommand";
+import {
+ ListConnectPeersCommand,
+ ListConnectPeersCommandInput,
+ ListConnectPeersCommandOutput,
+} from "./commands/ListConnectPeersCommand";
+import {
+ ListCoreNetworkPolicyVersionsCommand,
+ ListCoreNetworkPolicyVersionsCommandInput,
+ ListCoreNetworkPolicyVersionsCommandOutput,
+} from "./commands/ListCoreNetworkPolicyVersionsCommand";
+import {
+ ListCoreNetworksCommand,
+ ListCoreNetworksCommandInput,
+ ListCoreNetworksCommandOutput,
+} from "./commands/ListCoreNetworksCommand";
import {
ListTagsForResourceCommand,
ListTagsForResourceCommandInput,
ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
+import {
+ PutCoreNetworkPolicyCommand,
+ PutCoreNetworkPolicyCommandInput,
+ PutCoreNetworkPolicyCommandOutput,
+} from "./commands/PutCoreNetworkPolicyCommand";
+import {
+ PutResourcePolicyCommand,
+ PutResourcePolicyCommandInput,
+ PutResourcePolicyCommandOutput,
+} from "./commands/PutResourcePolicyCommand";
import {
RegisterTransitGatewayCommand,
RegisterTransitGatewayCommandInput,
RegisterTransitGatewayCommandOutput,
} from "./commands/RegisterTransitGatewayCommand";
+import {
+ RejectAttachmentCommand,
+ RejectAttachmentCommandInput,
+ RejectAttachmentCommandOutput,
+} from "./commands/RejectAttachmentCommand";
+import {
+ RestoreCoreNetworkPolicyVersionCommand,
+ RestoreCoreNetworkPolicyVersionCommandInput,
+ RestoreCoreNetworkPolicyVersionCommandOutput,
+} from "./commands/RestoreCoreNetworkPolicyVersionCommand";
import {
StartRouteAnalysisCommand,
StartRouteAnalysisCommandInput,
@@ -158,6 +313,11 @@ import {
UpdateConnectionCommandInput,
UpdateConnectionCommandOutput,
} from "./commands/UpdateConnectionCommand";
+import {
+ UpdateCoreNetworkCommand,
+ UpdateCoreNetworkCommandInput,
+ UpdateCoreNetworkCommandOutput,
+} from "./commands/UpdateCoreNetworkCommand";
import {
UpdateDeviceCommand,
UpdateDeviceCommandInput,
@@ -175,6 +335,11 @@ import {
UpdateNetworkResourceMetadataCommandOutput,
} from "./commands/UpdateNetworkResourceMetadataCommand";
import { UpdateSiteCommand, UpdateSiteCommandInput, UpdateSiteCommandOutput } from "./commands/UpdateSiteCommand";
+import {
+ UpdateVpcAttachmentCommand,
+ UpdateVpcAttachmentCommandInput,
+ UpdateVpcAttachmentCommandOutput,
+} from "./commands/UpdateVpcAttachmentCommand";
import { NetworkManagerClient } from "./NetworkManagerClient";
/**
@@ -182,6 +347,75 @@ import { NetworkManagerClient } from "./NetworkManagerClient";
* Amazon Web Services and on-premises networks that are built around transit gateways.
*/
export class NetworkManager extends NetworkManagerClient {
+ /**
+ * Accepts a core network attachment request.
+ * Once the attachment request is accepted by a core network owner, the attachment is
+ * created and connected to a core network.
+ */
+ public acceptAttachment(
+ args: AcceptAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public acceptAttachment(
+ args: AcceptAttachmentCommandInput,
+ cb: (err: any, data?: AcceptAttachmentCommandOutput) => void
+ ): void;
+ public acceptAttachment(
+ args: AcceptAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: AcceptAttachmentCommandOutput) => void
+ ): void;
+ public acceptAttachment(
+ args: AcceptAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AcceptAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: AcceptAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new AcceptAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Associates a core network Connect peer with a device and optionally, with a link.
+ * If you specify a link, it must be associated with the specified device. You can only
+ * associate core network Connect peers that have been created on a core network Connect
+ * attachment on a core network.
+ */
+ public associateConnectPeer(
+ args: AssociateConnectPeerCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public associateConnectPeer(
+ args: AssociateConnectPeerCommandInput,
+ cb: (err: any, data?: AssociateConnectPeerCommandOutput) => void
+ ): void;
+ public associateConnectPeer(
+ args: AssociateConnectPeerCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: AssociateConnectPeerCommandOutput) => void
+ ): void;
+ public associateConnectPeer(
+ args: AssociateConnectPeerCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: AssociateConnectPeerCommandOutput) => void),
+ cb?: (err: any, data?: AssociateConnectPeerCommandOutput) => void
+ ): Promise | void {
+ const command = new AssociateConnectPeerCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Associates a customer gateway with a device and optionally, with a link. If you
* specify a link, it must be associated with the specified device.
@@ -290,6 +524,41 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Creates a core network Connect attachment from a specified core network attachment.
+ * A core network Connect attachment is a GRE-based tunnel attachment that you can use to
+ * establish a connection between a core network and an appliance. A core network Connect
+ * attachment uses an existing VPC attachment as the underlying transport mechanism.
+ */
+ public createConnectAttachment(
+ args: CreateConnectAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createConnectAttachment(
+ args: CreateConnectAttachmentCommandInput,
+ cb: (err: any, data?: CreateConnectAttachmentCommandOutput) => void
+ ): void;
+ public createConnectAttachment(
+ args: CreateConnectAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateConnectAttachmentCommandOutput) => void
+ ): void;
+ public createConnectAttachment(
+ args: CreateConnectAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateConnectAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: CreateConnectAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateConnectAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 connection between two devices. The devices can be a physical or virtual appliance that connects to a third-party appliance in a VPC, or a physical appliance that connects to another physical appliance in an on-premises network.
*/
@@ -322,6 +591,71 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Creates a core network connect peer for a specified core network connect attachment between a core network and an appliance.
+ * The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).
+ */
+ public createConnectPeer(
+ args: CreateConnectPeerCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createConnectPeer(
+ args: CreateConnectPeerCommandInput,
+ cb: (err: any, data?: CreateConnectPeerCommandOutput) => void
+ ): void;
+ public createConnectPeer(
+ args: CreateConnectPeerCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateConnectPeerCommandOutput) => void
+ ): void;
+ public createConnectPeer(
+ args: CreateConnectPeerCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateConnectPeerCommandOutput) => void),
+ cb?: (err: any, data?: CreateConnectPeerCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateConnectPeerCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 core network as part of your global network, and optionally, with a core network policy.
+ */
+ public createCoreNetwork(
+ args: CreateCoreNetworkCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createCoreNetwork(
+ args: CreateCoreNetworkCommandInput,
+ cb: (err: any, data?: CreateCoreNetworkCommandOutput) => void
+ ): void;
+ public createCoreNetwork(
+ args: CreateCoreNetworkCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateCoreNetworkCommandOutput) => void
+ ): void;
+ public createCoreNetwork(
+ args: CreateCoreNetworkCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateCoreNetworkCommandOutput) => void),
+ cb?: (err: any, data?: CreateCoreNetworkCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateCoreNetworkCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Creates a new device in a global network. If you specify both a site ID and a
* location, the location of the site is used for visualization in the Network Manager console.
@@ -436,6 +770,102 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Creates a site-to-site VPN attachment on an edge location of a core network.
+ */
+ public createSiteToSiteVpnAttachment(
+ args: CreateSiteToSiteVpnAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createSiteToSiteVpnAttachment(
+ args: CreateSiteToSiteVpnAttachmentCommandInput,
+ cb: (err: any, data?: CreateSiteToSiteVpnAttachmentCommandOutput) => void
+ ): void;
+ public createSiteToSiteVpnAttachment(
+ args: CreateSiteToSiteVpnAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateSiteToSiteVpnAttachmentCommandOutput) => void
+ ): void;
+ public createSiteToSiteVpnAttachment(
+ args: CreateSiteToSiteVpnAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateSiteToSiteVpnAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: CreateSiteToSiteVpnAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateSiteToSiteVpnAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 VPC attachment on an edge location of a core network.
+ */
+ public createVpcAttachment(
+ args: CreateVpcAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createVpcAttachment(
+ args: CreateVpcAttachmentCommandInput,
+ cb: (err: any, data?: CreateVpcAttachmentCommandOutput) => void
+ ): void;
+ public createVpcAttachment(
+ args: CreateVpcAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateVpcAttachmentCommandOutput) => void
+ ): void;
+ public createVpcAttachment(
+ args: CreateVpcAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateVpcAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: CreateVpcAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateVpcAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Deletes an attachment. Supports all attachment types.
+ */
+ public deleteAttachment(
+ args: DeleteAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteAttachment(
+ args: DeleteAttachmentCommandInput,
+ cb: (err: any, data?: DeleteAttachmentCommandOutput) => void
+ ): void;
+ public deleteAttachment(
+ args: DeleteAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteAttachmentCommandOutput) => void
+ ): void;
+ public deleteAttachment(
+ args: DeleteAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: DeleteAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 connection in your global network.
*/
@@ -468,6 +898,102 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Deletes a Connect peer.
+ */
+ public deleteConnectPeer(
+ args: DeleteConnectPeerCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteConnectPeer(
+ args: DeleteConnectPeerCommandInput,
+ cb: (err: any, data?: DeleteConnectPeerCommandOutput) => void
+ ): void;
+ public deleteConnectPeer(
+ args: DeleteConnectPeerCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteConnectPeerCommandOutput) => void
+ ): void;
+ public deleteConnectPeer(
+ args: DeleteConnectPeerCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteConnectPeerCommandOutput) => void),
+ cb?: (err: any, data?: DeleteConnectPeerCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteConnectPeerCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Deletes a core network along with all core network policies. This can only be done if there are no attachments on a core network.
+ */
+ public deleteCoreNetwork(
+ args: DeleteCoreNetworkCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteCoreNetwork(
+ args: DeleteCoreNetworkCommandInput,
+ cb: (err: any, data?: DeleteCoreNetworkCommandOutput) => void
+ ): void;
+ public deleteCoreNetwork(
+ args: DeleteCoreNetworkCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteCoreNetworkCommandOutput) => void
+ ): void;
+ public deleteCoreNetwork(
+ args: DeleteCoreNetworkCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteCoreNetworkCommandOutput) => void),
+ cb?: (err: any, data?: DeleteCoreNetworkCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteCoreNetworkCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Deletes a policy version from a core network. You can't delete the current LIVE policy.
+ */
+ public deleteCoreNetworkPolicyVersion(
+ args: DeleteCoreNetworkPolicyVersionCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteCoreNetworkPolicyVersion(
+ args: DeleteCoreNetworkPolicyVersionCommandInput,
+ cb: (err: any, data?: DeleteCoreNetworkPolicyVersionCommandOutput) => void
+ ): void;
+ public deleteCoreNetworkPolicyVersion(
+ args: DeleteCoreNetworkPolicyVersionCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteCoreNetworkPolicyVersionCommandOutput) => void
+ ): void;
+ public deleteCoreNetworkPolicyVersion(
+ args: DeleteCoreNetworkPolicyVersionCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteCoreNetworkPolicyVersionCommandOutput) => void),
+ cb?: (err: any, data?: DeleteCoreNetworkPolicyVersionCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteCoreNetworkPolicyVersionCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Deletes an existing device. You must first disassociate the device from any links and
* customer gateways.
@@ -558,6 +1084,38 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Deletes a resource policy for the specified resource. This revokes the access of the principals specified in the resource policy.
+ */
+ public deleteResourcePolicy(
+ args: DeleteResourcePolicyCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteResourcePolicy(
+ args: DeleteResourcePolicyCommandInput,
+ cb: (err: any, data?: DeleteResourcePolicyCommandOutput) => void
+ ): void;
+ public deleteResourcePolicy(
+ args: DeleteResourcePolicyCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteResourcePolicyCommandOutput) => void
+ ): void;
+ public deleteResourcePolicy(
+ args: DeleteResourcePolicyCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteResourcePolicyCommandOutput) => void),
+ cb?: (err: any, data?: DeleteResourcePolicyCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteResourcePolicyCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Deletes an existing site. The site cannot be associated with any device or link.
*/
@@ -652,6 +1210,38 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Disassociates a core network Connect peer from a device and a link.
+ */
+ public disassociateConnectPeer(
+ args: DisassociateConnectPeerCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public disassociateConnectPeer(
+ args: DisassociateConnectPeerCommandInput,
+ cb: (err: any, data?: DisassociateConnectPeerCommandOutput) => void
+ ): void;
+ public disassociateConnectPeer(
+ args: DisassociateConnectPeerCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DisassociateConnectPeerCommandOutput) => void
+ ): void;
+ public disassociateConnectPeer(
+ args: DisassociateConnectPeerCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateConnectPeerCommandOutput) => void),
+ cb?: (err: any, data?: DisassociateConnectPeerCommandOutput) => void
+ ): Promise | void {
+ const command = new DisassociateConnectPeerCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Disassociates a customer gateway from a device and a link.
*/
@@ -668,12 +1258,239 @@ export class NetworkManager extends NetworkManagerClient {
options: __HttpHandlerOptions,
cb: (err: any, data?: DisassociateCustomerGatewayCommandOutput) => void
): void;
- public disassociateCustomerGateway(
- args: DisassociateCustomerGatewayCommandInput,
- optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateCustomerGatewayCommandOutput) => void),
- cb?: (err: any, data?: DisassociateCustomerGatewayCommandOutput) => void
- ): Promise | void {
- const command = new DisassociateCustomerGatewayCommand(args);
+ public disassociateCustomerGateway(
+ args: DisassociateCustomerGatewayCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateCustomerGatewayCommandOutput) => void),
+ cb?: (err: any, data?: DisassociateCustomerGatewayCommandOutput) => void
+ ): Promise | void {
+ const command = new DisassociateCustomerGatewayCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Disassociates an existing device from a link. You must first disassociate any customer
+ * gateways that are associated with the link.
+ */
+ public disassociateLink(
+ args: DisassociateLinkCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public disassociateLink(
+ args: DisassociateLinkCommandInput,
+ cb: (err: any, data?: DisassociateLinkCommandOutput) => void
+ ): void;
+ public disassociateLink(
+ args: DisassociateLinkCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DisassociateLinkCommandOutput) => void
+ ): void;
+ public disassociateLink(
+ args: DisassociateLinkCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateLinkCommandOutput) => void),
+ cb?: (err: any, data?: DisassociateLinkCommandOutput) => void
+ ): Promise | void {
+ const command = new DisassociateLinkCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Disassociates a transit gateway Connect peer from a device and link.
+ */
+ public disassociateTransitGatewayConnectPeer(
+ args: DisassociateTransitGatewayConnectPeerCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public disassociateTransitGatewayConnectPeer(
+ args: DisassociateTransitGatewayConnectPeerCommandInput,
+ cb: (err: any, data?: DisassociateTransitGatewayConnectPeerCommandOutput) => void
+ ): void;
+ public disassociateTransitGatewayConnectPeer(
+ args: DisassociateTransitGatewayConnectPeerCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DisassociateTransitGatewayConnectPeerCommandOutput) => void
+ ): void;
+ public disassociateTransitGatewayConnectPeer(
+ args: DisassociateTransitGatewayConnectPeerCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DisassociateTransitGatewayConnectPeerCommandOutput) => void),
+ cb?: (err: any, data?: DisassociateTransitGatewayConnectPeerCommandOutput) => void
+ ): Promise | void {
+ const command = new DisassociateTransitGatewayConnectPeerCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Executes a change set on your core network. Deploys changes globally based on the policy submitted..
+ */
+ public executeCoreNetworkChangeSet(
+ args: ExecuteCoreNetworkChangeSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public executeCoreNetworkChangeSet(
+ args: ExecuteCoreNetworkChangeSetCommandInput,
+ cb: (err: any, data?: ExecuteCoreNetworkChangeSetCommandOutput) => void
+ ): void;
+ public executeCoreNetworkChangeSet(
+ args: ExecuteCoreNetworkChangeSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ExecuteCoreNetworkChangeSetCommandOutput) => void
+ ): void;
+ public executeCoreNetworkChangeSet(
+ args: ExecuteCoreNetworkChangeSetCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ExecuteCoreNetworkChangeSetCommandOutput) => void),
+ cb?: (err: any, data?: ExecuteCoreNetworkChangeSetCommandOutput) => void
+ ): Promise | void {
+ const command = new ExecuteCoreNetworkChangeSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns information about a core network Connect attachment.
+ */
+ public getConnectAttachment(
+ args: GetConnectAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getConnectAttachment(
+ args: GetConnectAttachmentCommandInput,
+ cb: (err: any, data?: GetConnectAttachmentCommandOutput) => void
+ ): void;
+ public getConnectAttachment(
+ args: GetConnectAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetConnectAttachmentCommandOutput) => void
+ ): void;
+ public getConnectAttachment(
+ args: GetConnectAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetConnectAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: GetConnectAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new GetConnectAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 one or more of your connections in a global network.
+ */
+ public getConnections(
+ args: GetConnectionsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getConnections(
+ args: GetConnectionsCommandInput,
+ cb: (err: any, data?: GetConnectionsCommandOutput) => void
+ ): void;
+ public getConnections(
+ args: GetConnectionsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetConnectionsCommandOutput) => void
+ ): void;
+ public getConnections(
+ args: GetConnectionsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetConnectionsCommandOutput) => void),
+ cb?: (err: any, data?: GetConnectionsCommandOutput) => void
+ ): Promise | void {
+ const command = new GetConnectionsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns information about a core network Connect peer.
+ */
+ public getConnectPeer(
+ args: GetConnectPeerCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getConnectPeer(
+ args: GetConnectPeerCommandInput,
+ cb: (err: any, data?: GetConnectPeerCommandOutput) => void
+ ): void;
+ public getConnectPeer(
+ args: GetConnectPeerCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetConnectPeerCommandOutput) => void
+ ): void;
+ public getConnectPeer(
+ args: GetConnectPeerCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetConnectPeerCommandOutput) => void),
+ cb?: (err: any, data?: GetConnectPeerCommandOutput) => void
+ ): Promise | void {
+ const command = new GetConnectPeerCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns information about a core network Connect peer associations.
+ */
+ public getConnectPeerAssociations(
+ args: GetConnectPeerAssociationsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getConnectPeerAssociations(
+ args: GetConnectPeerAssociationsCommandInput,
+ cb: (err: any, data?: GetConnectPeerAssociationsCommandOutput) => void
+ ): void;
+ public getConnectPeerAssociations(
+ args: GetConnectPeerAssociationsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetConnectPeerAssociationsCommandOutput) => void
+ ): void;
+ public getConnectPeerAssociations(
+ args: GetConnectPeerAssociationsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetConnectPeerAssociationsCommandOutput) => void),
+ cb?: (err: any, data?: GetConnectPeerAssociationsCommandOutput) => void
+ ): Promise | void {
+ const command = new GetConnectPeerAssociationsCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
@@ -685,28 +1502,27 @@ export class NetworkManager extends NetworkManagerClient {
}
/**
- * Disassociates an existing device from a link. You must first disassociate any customer
- * gateways that are associated with the link.
+ * Returns information about a core network. By default it returns the LIVE policy.
*/
- public disassociateLink(
- args: DisassociateLinkCommandInput,
+ public getCoreNetwork(
+ args: GetCoreNetworkCommandInput,
options?: __HttpHandlerOptions
- ): Promise;
- public disassociateLink(
- args: DisassociateLinkCommandInput,
- cb: (err: any, data?: DisassociateLinkCommandOutput) => void
+ ): Promise;
+ public getCoreNetwork(
+ args: GetCoreNetworkCommandInput,
+ cb: (err: any, data?: GetCoreNetworkCommandOutput) => void
): void;
- public disassociateLink(
- args: DisassociateLinkCommandInput,
+ public getCoreNetwork(
+ args: GetCoreNetworkCommandInput,
options: __HttpHandlerOptions,
- cb: (err: any, data?: DisassociateLinkCommandOutput) => void
- ): void;
- public disassociateLink(
- args: DisassociateLinkCommandInput,
- optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DisassociateLinkCommandOutput) => void),
- cb?: (err: any, data?: DisassociateLinkCommandOutput) => void
- ): Promise | void {
- const command = new DisassociateLinkCommand(args);
+ cb: (err: any, data?: GetCoreNetworkCommandOutput) => void
+ ): void;
+ public getCoreNetwork(
+ args: GetCoreNetworkCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetCoreNetworkCommandOutput) => void),
+ cb?: (err: any, data?: GetCoreNetworkCommandOutput) => void
+ ): Promise | void {
+ const command = new GetCoreNetworkCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
@@ -718,29 +1534,27 @@ export class NetworkManager extends NetworkManagerClient {
}
/**
- * Disassociates a transit gateway Connect peer from a device and link.
+ * Returns a change set between the LIVE core network policy and a submitted policy.
*/
- public disassociateTransitGatewayConnectPeer(
- args: DisassociateTransitGatewayConnectPeerCommandInput,
+ public getCoreNetworkChangeSet(
+ args: GetCoreNetworkChangeSetCommandInput,
options?: __HttpHandlerOptions
- ): Promise;
- public disassociateTransitGatewayConnectPeer(
- args: DisassociateTransitGatewayConnectPeerCommandInput,
- cb: (err: any, data?: DisassociateTransitGatewayConnectPeerCommandOutput) => void
+ ): Promise;
+ public getCoreNetworkChangeSet(
+ args: GetCoreNetworkChangeSetCommandInput,
+ cb: (err: any, data?: GetCoreNetworkChangeSetCommandOutput) => void
): void;
- public disassociateTransitGatewayConnectPeer(
- args: DisassociateTransitGatewayConnectPeerCommandInput,
+ public getCoreNetworkChangeSet(
+ args: GetCoreNetworkChangeSetCommandInput,
options: __HttpHandlerOptions,
- cb: (err: any, data?: DisassociateTransitGatewayConnectPeerCommandOutput) => void
- ): void;
- public disassociateTransitGatewayConnectPeer(
- args: DisassociateTransitGatewayConnectPeerCommandInput,
- optionsOrCb?:
- | __HttpHandlerOptions
- | ((err: any, data?: DisassociateTransitGatewayConnectPeerCommandOutput) => void),
- cb?: (err: any, data?: DisassociateTransitGatewayConnectPeerCommandOutput) => void
- ): Promise | void {
- const command = new DisassociateTransitGatewayConnectPeerCommand(args);
+ cb: (err: any, data?: GetCoreNetworkChangeSetCommandOutput) => void
+ ): void;
+ public getCoreNetworkChangeSet(
+ args: GetCoreNetworkChangeSetCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetCoreNetworkChangeSetCommandOutput) => void),
+ cb?: (err: any, data?: GetCoreNetworkChangeSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetCoreNetworkChangeSetCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
@@ -752,27 +1566,27 @@ export class NetworkManager extends NetworkManagerClient {
}
/**
- * Gets information about one or more of your connections in a global network.
+ * Gets details about a core network policy. You can get details about your current live policy or any previous policy version.
*/
- public getConnections(
- args: GetConnectionsCommandInput,
+ public getCoreNetworkPolicy(
+ args: GetCoreNetworkPolicyCommandInput,
options?: __HttpHandlerOptions
- ): Promise;
- public getConnections(
- args: GetConnectionsCommandInput,
- cb: (err: any, data?: GetConnectionsCommandOutput) => void
+ ): Promise;
+ public getCoreNetworkPolicy(
+ args: GetCoreNetworkPolicyCommandInput,
+ cb: (err: any, data?: GetCoreNetworkPolicyCommandOutput) => void
): void;
- public getConnections(
- args: GetConnectionsCommandInput,
+ public getCoreNetworkPolicy(
+ args: GetCoreNetworkPolicyCommandInput,
options: __HttpHandlerOptions,
- cb: (err: any, data?: GetConnectionsCommandOutput) => void
- ): void;
- public getConnections(
- args: GetConnectionsCommandInput,
- optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetConnectionsCommandOutput) => void),
- cb?: (err: any, data?: GetConnectionsCommandOutput) => void
- ): Promise | void {
- const command = new GetConnectionsCommand(args);
+ cb: (err: any, data?: GetCoreNetworkPolicyCommandOutput) => void
+ ): void;
+ public getCoreNetworkPolicy(
+ args: GetCoreNetworkPolicyCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetCoreNetworkPolicyCommandOutput) => void),
+ cb?: (err: any, data?: GetCoreNetworkPolicyCommandOutput) => void
+ ): Promise | void {
+ const command = new GetCoreNetworkPolicyCommand(args);
if (typeof optionsOrCb === "function") {
this.send(command, optionsOrCb);
} else if (typeof cb === "function") {
@@ -1063,6 +1877,38 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Returns information about a resource policy.
+ */
+ public getResourcePolicy(
+ args: GetResourcePolicyCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getResourcePolicy(
+ args: GetResourcePolicyCommandInput,
+ cb: (err: any, data?: GetResourcePolicyCommandOutput) => void
+ ): void;
+ public getResourcePolicy(
+ args: GetResourcePolicyCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetResourcePolicyCommandOutput) => void
+ ): void;
+ public getResourcePolicy(
+ args: GetResourcePolicyCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetResourcePolicyCommandOutput) => void),
+ cb?: (err: any, data?: GetResourcePolicyCommandOutput) => void
+ ): Promise | void {
+ const command = new GetResourcePolicyCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Gets information about the specified route analysis.
*/
@@ -1121,6 +1967,38 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Returns information about a site-to-site VPN attachment.
+ */
+ public getSiteToSiteVpnAttachment(
+ args: GetSiteToSiteVpnAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getSiteToSiteVpnAttachment(
+ args: GetSiteToSiteVpnAttachmentCommandInput,
+ cb: (err: any, data?: GetSiteToSiteVpnAttachmentCommandOutput) => void
+ ): void;
+ public getSiteToSiteVpnAttachment(
+ args: GetSiteToSiteVpnAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetSiteToSiteVpnAttachmentCommandOutput) => void
+ ): void;
+ public getSiteToSiteVpnAttachment(
+ args: GetSiteToSiteVpnAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetSiteToSiteVpnAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: GetSiteToSiteVpnAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new GetSiteToSiteVpnAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 one or more of your transit gateway Connect peer associations in a global network.
*/
@@ -1188,6 +2066,166 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Returns information about a VPC attachment.
+ */
+ public getVpcAttachment(
+ args: GetVpcAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getVpcAttachment(
+ args: GetVpcAttachmentCommandInput,
+ cb: (err: any, data?: GetVpcAttachmentCommandOutput) => void
+ ): void;
+ public getVpcAttachment(
+ args: GetVpcAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetVpcAttachmentCommandOutput) => void
+ ): void;
+ public getVpcAttachment(
+ args: GetVpcAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetVpcAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: GetVpcAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new GetVpcAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns a list of core network attachments.
+ */
+ public listAttachments(
+ args: ListAttachmentsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listAttachments(
+ args: ListAttachmentsCommandInput,
+ cb: (err: any, data?: ListAttachmentsCommandOutput) => void
+ ): void;
+ public listAttachments(
+ args: ListAttachmentsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListAttachmentsCommandOutput) => void
+ ): void;
+ public listAttachments(
+ args: ListAttachmentsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAttachmentsCommandOutput) => void),
+ cb?: (err: any, data?: ListAttachmentsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListAttachmentsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns a list of core network Connect peers.
+ */
+ public listConnectPeers(
+ args: ListConnectPeersCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listConnectPeers(
+ args: ListConnectPeersCommandInput,
+ cb: (err: any, data?: ListConnectPeersCommandOutput) => void
+ ): void;
+ public listConnectPeers(
+ args: ListConnectPeersCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListConnectPeersCommandOutput) => void
+ ): void;
+ public listConnectPeers(
+ args: ListConnectPeersCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListConnectPeersCommandOutput) => void),
+ cb?: (err: any, data?: ListConnectPeersCommandOutput) => void
+ ): Promise | void {
+ const command = new ListConnectPeersCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns a list of core network policy versions.
+ */
+ public listCoreNetworkPolicyVersions(
+ args: ListCoreNetworkPolicyVersionsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listCoreNetworkPolicyVersions(
+ args: ListCoreNetworkPolicyVersionsCommandInput,
+ cb: (err: any, data?: ListCoreNetworkPolicyVersionsCommandOutput) => void
+ ): void;
+ public listCoreNetworkPolicyVersions(
+ args: ListCoreNetworkPolicyVersionsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListCoreNetworkPolicyVersionsCommandOutput) => void
+ ): void;
+ public listCoreNetworkPolicyVersions(
+ args: ListCoreNetworkPolicyVersionsCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListCoreNetworkPolicyVersionsCommandOutput) => void),
+ cb?: (err: any, data?: ListCoreNetworkPolicyVersionsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListCoreNetworkPolicyVersionsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Returns a list of owned and shared core networks.
+ */
+ public listCoreNetworks(
+ args: ListCoreNetworksCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listCoreNetworks(
+ args: ListCoreNetworksCommandInput,
+ cb: (err: any, data?: ListCoreNetworksCommandOutput) => void
+ ): void;
+ public listCoreNetworks(
+ args: ListCoreNetworksCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListCoreNetworksCommandOutput) => void
+ ): void;
+ public listCoreNetworks(
+ args: ListCoreNetworksCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListCoreNetworksCommandOutput) => void),
+ cb?: (err: any, data?: ListCoreNetworksCommandOutput) => void
+ ): Promise | void {
+ const command = new ListCoreNetworksCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Lists the tags for a specified resource.
*/
@@ -1220,6 +2258,70 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Creates a new, immutable version of a core network policy. A subsequent change set is created showing the differences between the LIVE policy and the submitted policy.
+ */
+ public putCoreNetworkPolicy(
+ args: PutCoreNetworkPolicyCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public putCoreNetworkPolicy(
+ args: PutCoreNetworkPolicyCommandInput,
+ cb: (err: any, data?: PutCoreNetworkPolicyCommandOutput) => void
+ ): void;
+ public putCoreNetworkPolicy(
+ args: PutCoreNetworkPolicyCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: PutCoreNetworkPolicyCommandOutput) => void
+ ): void;
+ public putCoreNetworkPolicy(
+ args: PutCoreNetworkPolicyCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutCoreNetworkPolicyCommandOutput) => void),
+ cb?: (err: any, data?: PutCoreNetworkPolicyCommandOutput) => void
+ ): Promise | void {
+ const command = new PutCoreNetworkPolicyCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Creates or updates a resource policy.
+ */
+ public putResourcePolicy(
+ args: PutResourcePolicyCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public putResourcePolicy(
+ args: PutResourcePolicyCommandInput,
+ cb: (err: any, data?: PutResourcePolicyCommandOutput) => void
+ ): void;
+ public putResourcePolicy(
+ args: PutResourcePolicyCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: PutResourcePolicyCommandOutput) => void
+ ): void;
+ public putResourcePolicy(
+ args: PutResourcePolicyCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutResourcePolicyCommandOutput) => void),
+ cb?: (err: any, data?: PutResourcePolicyCommandOutput) => void
+ ): Promise | void {
+ const command = new PutResourcePolicyCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Registers a transit gateway in your global network. The transit gateway can be in any
* Amazon Web Services Region, but it must be owned by the same Amazon Web Services account that owns
@@ -1254,6 +2356,70 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ *
Rejects a core network attachment request.
+ */
+ public rejectAttachment(
+ args: RejectAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public rejectAttachment(
+ args: RejectAttachmentCommandInput,
+ cb: (err: any, data?: RejectAttachmentCommandOutput) => void
+ ): void;
+ public rejectAttachment(
+ args: RejectAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: RejectAttachmentCommandOutput) => void
+ ): void;
+ public rejectAttachment(
+ args: RejectAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RejectAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: RejectAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new RejectAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ * Restores a previous policy version as a new, immutable version of a core network policy. A subsequent change set is created showing the differences between the LIVE policy and restored policy.
+ */
+ public restoreCoreNetworkPolicyVersion(
+ args: RestoreCoreNetworkPolicyVersionCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public restoreCoreNetworkPolicyVersion(
+ args: RestoreCoreNetworkPolicyVersionCommandInput,
+ cb: (err: any, data?: RestoreCoreNetworkPolicyVersionCommandOutput) => void
+ ): void;
+ public restoreCoreNetworkPolicyVersion(
+ args: RestoreCoreNetworkPolicyVersionCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: RestoreCoreNetworkPolicyVersionCommandOutput) => void
+ ): void;
+ public restoreCoreNetworkPolicyVersion(
+ args: RestoreCoreNetworkPolicyVersionCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RestoreCoreNetworkPolicyVersionCommandOutput) => void),
+ cb?: (err: any, data?: RestoreCoreNetworkPolicyVersionCommandOutput) => void
+ ): Promise | void {
+ const command = new RestoreCoreNetworkPolicyVersionCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (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 routing path between the specified source and destination. For more information,
* see Route Analyzer.
@@ -1378,6 +2544,38 @@ export class NetworkManager extends NetworkManagerClient {
}
}
+ /**
+ * Updates the description of a core network.
+ */
+ public updateCoreNetwork(
+ args: UpdateCoreNetworkCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateCoreNetwork(
+ args: UpdateCoreNetworkCommandInput,
+ cb: (err: any, data?: UpdateCoreNetworkCommandOutput) => void
+ ): void;
+ public updateCoreNetwork(
+ args: UpdateCoreNetworkCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateCoreNetworkCommandOutput) => void
+ ): void;
+ public updateCoreNetwork(
+ args: UpdateCoreNetworkCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateCoreNetworkCommandOutput) => void),
+ cb?: (err: any, data?: UpdateCoreNetworkCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateCoreNetworkCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
/**
* Updates the details for an existing device. To remove information for any of the
* parameters, specify an empty string.
@@ -1526,4 +2724,36 @@ export class NetworkManager extends NetworkManagerClient {
return this.send(command, optionsOrCb);
}
}
+
+ /**
+ * Updates a VPC attachment.
+ */
+ public updateVpcAttachment(
+ args: UpdateVpcAttachmentCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateVpcAttachment(
+ args: UpdateVpcAttachmentCommandInput,
+ cb: (err: any, data?: UpdateVpcAttachmentCommandOutput) => void
+ ): void;
+ public updateVpcAttachment(
+ args: UpdateVpcAttachmentCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateVpcAttachmentCommandOutput) => void
+ ): void;
+ public updateVpcAttachment(
+ args: UpdateVpcAttachmentCommandInput,
+ optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateVpcAttachmentCommandOutput) => void),
+ cb?: (err: any, data?: UpdateVpcAttachmentCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateVpcAttachmentCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
}
diff --git a/clients/client-networkmanager/src/NetworkManagerClient.ts b/clients/client-networkmanager/src/NetworkManagerClient.ts
index ee59d3978948..e962a1a1ce08 100644
--- a/clients/client-networkmanager/src/NetworkManagerClient.ts
+++ b/clients/client-networkmanager/src/NetworkManagerClient.ts
@@ -49,6 +49,11 @@ import {
UserAgent as __UserAgent,
} from "@aws-sdk/types";
+import { AcceptAttachmentCommandInput, AcceptAttachmentCommandOutput } from "./commands/AcceptAttachmentCommand";
+import {
+ AssociateConnectPeerCommandInput,
+ AssociateConnectPeerCommandOutput,
+} from "./commands/AssociateConnectPeerCommand";
import {
AssociateCustomerGatewayCommandInput,
AssociateCustomerGatewayCommandOutput,
@@ -58,7 +63,13 @@ import {
AssociateTransitGatewayConnectPeerCommandInput,
AssociateTransitGatewayConnectPeerCommandOutput,
} from "./commands/AssociateTransitGatewayConnectPeerCommand";
+import {
+ CreateConnectAttachmentCommandInput,
+ CreateConnectAttachmentCommandOutput,
+} from "./commands/CreateConnectAttachmentCommand";
import { CreateConnectionCommandInput, CreateConnectionCommandOutput } from "./commands/CreateConnectionCommand";
+import { CreateConnectPeerCommandInput, CreateConnectPeerCommandOutput } from "./commands/CreateConnectPeerCommand";
+import { CreateCoreNetworkCommandInput, CreateCoreNetworkCommandOutput } from "./commands/CreateCoreNetworkCommand";
import { CreateDeviceCommandInput, CreateDeviceCommandOutput } from "./commands/CreateDeviceCommand";
import {
CreateGlobalNetworkCommandInput,
@@ -66,13 +77,32 @@ import {
} from "./commands/CreateGlobalNetworkCommand";
import { CreateLinkCommandInput, CreateLinkCommandOutput } from "./commands/CreateLinkCommand";
import { CreateSiteCommandInput, CreateSiteCommandOutput } from "./commands/CreateSiteCommand";
+import {
+ CreateSiteToSiteVpnAttachmentCommandInput,
+ CreateSiteToSiteVpnAttachmentCommandOutput,
+} from "./commands/CreateSiteToSiteVpnAttachmentCommand";
+import {
+ CreateVpcAttachmentCommandInput,
+ CreateVpcAttachmentCommandOutput,
+} from "./commands/CreateVpcAttachmentCommand";
+import { DeleteAttachmentCommandInput, DeleteAttachmentCommandOutput } from "./commands/DeleteAttachmentCommand";
import { DeleteConnectionCommandInput, DeleteConnectionCommandOutput } from "./commands/DeleteConnectionCommand";
+import { DeleteConnectPeerCommandInput, DeleteConnectPeerCommandOutput } from "./commands/DeleteConnectPeerCommand";
+import { DeleteCoreNetworkCommandInput, DeleteCoreNetworkCommandOutput } from "./commands/DeleteCoreNetworkCommand";
+import {
+ DeleteCoreNetworkPolicyVersionCommandInput,
+ DeleteCoreNetworkPolicyVersionCommandOutput,
+} from "./commands/DeleteCoreNetworkPolicyVersionCommand";
import { DeleteDeviceCommandInput, DeleteDeviceCommandOutput } from "./commands/DeleteDeviceCommand";
import {
DeleteGlobalNetworkCommandInput,
DeleteGlobalNetworkCommandOutput,
} from "./commands/DeleteGlobalNetworkCommand";
import { DeleteLinkCommandInput, DeleteLinkCommandOutput } from "./commands/DeleteLinkCommand";
+import {
+ DeleteResourcePolicyCommandInput,
+ DeleteResourcePolicyCommandOutput,
+} from "./commands/DeleteResourcePolicyCommand";
import { DeleteSiteCommandInput, DeleteSiteCommandOutput } from "./commands/DeleteSiteCommand";
import {
DeregisterTransitGatewayCommandInput,
@@ -82,6 +112,10 @@ import {
DescribeGlobalNetworksCommandInput,
DescribeGlobalNetworksCommandOutput,
} from "./commands/DescribeGlobalNetworksCommand";
+import {
+ DisassociateConnectPeerCommandInput,
+ DisassociateConnectPeerCommandOutput,
+} from "./commands/DisassociateConnectPeerCommand";
import {
DisassociateCustomerGatewayCommandInput,
DisassociateCustomerGatewayCommandOutput,
@@ -91,7 +125,29 @@ import {
DisassociateTransitGatewayConnectPeerCommandInput,
DisassociateTransitGatewayConnectPeerCommandOutput,
} from "./commands/DisassociateTransitGatewayConnectPeerCommand";
+import {
+ ExecuteCoreNetworkChangeSetCommandInput,
+ ExecuteCoreNetworkChangeSetCommandOutput,
+} from "./commands/ExecuteCoreNetworkChangeSetCommand";
+import {
+ GetConnectAttachmentCommandInput,
+ GetConnectAttachmentCommandOutput,
+} from "./commands/GetConnectAttachmentCommand";
import { GetConnectionsCommandInput, GetConnectionsCommandOutput } from "./commands/GetConnectionsCommand";
+import {
+ GetConnectPeerAssociationsCommandInput,
+ GetConnectPeerAssociationsCommandOutput,
+} from "./commands/GetConnectPeerAssociationsCommand";
+import { GetConnectPeerCommandInput, GetConnectPeerCommandOutput } from "./commands/GetConnectPeerCommand";
+import {
+ GetCoreNetworkChangeSetCommandInput,
+ GetCoreNetworkChangeSetCommandOutput,
+} from "./commands/GetCoreNetworkChangeSetCommand";
+import { GetCoreNetworkCommandInput, GetCoreNetworkCommandOutput } from "./commands/GetCoreNetworkCommand";
+import {
+ GetCoreNetworkPolicyCommandInput,
+ GetCoreNetworkPolicyCommandOutput,
+} from "./commands/GetCoreNetworkPolicyCommand";
import {
GetCustomerGatewayAssociationsCommandInput,
GetCustomerGatewayAssociationsCommandOutput,
@@ -119,8 +175,13 @@ import {
GetNetworkTelemetryCommandInput,
GetNetworkTelemetryCommandOutput,
} from "./commands/GetNetworkTelemetryCommand";
+import { GetResourcePolicyCommandInput, GetResourcePolicyCommandOutput } from "./commands/GetResourcePolicyCommand";
import { GetRouteAnalysisCommandInput, GetRouteAnalysisCommandOutput } from "./commands/GetRouteAnalysisCommand";
import { GetSitesCommandInput, GetSitesCommandOutput } from "./commands/GetSitesCommand";
+import {
+ GetSiteToSiteVpnAttachmentCommandInput,
+ GetSiteToSiteVpnAttachmentCommandOutput,
+} from "./commands/GetSiteToSiteVpnAttachmentCommand";
import {
GetTransitGatewayConnectPeerAssociationsCommandInput,
GetTransitGatewayConnectPeerAssociationsCommandOutput,
@@ -129,18 +190,37 @@ import {
GetTransitGatewayRegistrationsCommandInput,
GetTransitGatewayRegistrationsCommandOutput,
} from "./commands/GetTransitGatewayRegistrationsCommand";
+import { GetVpcAttachmentCommandInput, GetVpcAttachmentCommandOutput } from "./commands/GetVpcAttachmentCommand";
+import { ListAttachmentsCommandInput, ListAttachmentsCommandOutput } from "./commands/ListAttachmentsCommand";
+import { ListConnectPeersCommandInput, ListConnectPeersCommandOutput } from "./commands/ListConnectPeersCommand";
+import {
+ ListCoreNetworkPolicyVersionsCommandInput,
+ ListCoreNetworkPolicyVersionsCommandOutput,
+} from "./commands/ListCoreNetworkPolicyVersionsCommand";
+import { ListCoreNetworksCommandInput, ListCoreNetworksCommandOutput } from "./commands/ListCoreNetworksCommand";
import {
ListTagsForResourceCommandInput,
ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
+import {
+ PutCoreNetworkPolicyCommandInput,
+ PutCoreNetworkPolicyCommandOutput,
+} from "./commands/PutCoreNetworkPolicyCommand";
+import { PutResourcePolicyCommandInput, PutResourcePolicyCommandOutput } from "./commands/PutResourcePolicyCommand";
import {
RegisterTransitGatewayCommandInput,
RegisterTransitGatewayCommandOutput,
} from "./commands/RegisterTransitGatewayCommand";
+import { RejectAttachmentCommandInput, RejectAttachmentCommandOutput } from "./commands/RejectAttachmentCommand";
+import {
+ RestoreCoreNetworkPolicyVersionCommandInput,
+ RestoreCoreNetworkPolicyVersionCommandOutput,
+} from "./commands/RestoreCoreNetworkPolicyVersionCommand";
import { StartRouteAnalysisCommandInput, StartRouteAnalysisCommandOutput } from "./commands/StartRouteAnalysisCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
import { UpdateConnectionCommandInput, UpdateConnectionCommandOutput } from "./commands/UpdateConnectionCommand";
+import { UpdateCoreNetworkCommandInput, UpdateCoreNetworkCommandOutput } from "./commands/UpdateCoreNetworkCommand";
import { UpdateDeviceCommandInput, UpdateDeviceCommandOutput } from "./commands/UpdateDeviceCommand";
import {
UpdateGlobalNetworkCommandInput,
@@ -152,28 +232,52 @@ import {
UpdateNetworkResourceMetadataCommandOutput,
} from "./commands/UpdateNetworkResourceMetadataCommand";
import { UpdateSiteCommandInput, UpdateSiteCommandOutput } from "./commands/UpdateSiteCommand";
+import {
+ UpdateVpcAttachmentCommandInput,
+ UpdateVpcAttachmentCommandOutput,
+} from "./commands/UpdateVpcAttachmentCommand";
import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig";
export type ServiceInputTypes =
+ | AcceptAttachmentCommandInput
+ | AssociateConnectPeerCommandInput
| AssociateCustomerGatewayCommandInput
| AssociateLinkCommandInput
| AssociateTransitGatewayConnectPeerCommandInput
+ | CreateConnectAttachmentCommandInput
+ | CreateConnectPeerCommandInput
| CreateConnectionCommandInput
+ | CreateCoreNetworkCommandInput
| CreateDeviceCommandInput
| CreateGlobalNetworkCommandInput
| CreateLinkCommandInput
| CreateSiteCommandInput
+ | CreateSiteToSiteVpnAttachmentCommandInput
+ | CreateVpcAttachmentCommandInput
+ | DeleteAttachmentCommandInput
+ | DeleteConnectPeerCommandInput
| DeleteConnectionCommandInput
+ | DeleteCoreNetworkCommandInput
+ | DeleteCoreNetworkPolicyVersionCommandInput
| DeleteDeviceCommandInput
| DeleteGlobalNetworkCommandInput
| DeleteLinkCommandInput
+ | DeleteResourcePolicyCommandInput
| DeleteSiteCommandInput
| DeregisterTransitGatewayCommandInput
| DescribeGlobalNetworksCommandInput
+ | DisassociateConnectPeerCommandInput
| DisassociateCustomerGatewayCommandInput
| DisassociateLinkCommandInput
| DisassociateTransitGatewayConnectPeerCommandInput
+ | ExecuteCoreNetworkChangeSetCommandInput
+ | GetConnectAttachmentCommandInput
+ | GetConnectPeerAssociationsCommandInput
+ | GetConnectPeerCommandInput
| GetConnectionsCommandInput
+ | GetCoreNetworkChangeSetCommandInput
+ | GetCoreNetworkCommandInput
+ | GetCoreNetworkPolicyCommandInput
| GetCustomerGatewayAssociationsCommandInput
| GetDevicesCommandInput
| GetLinkAssociationsCommandInput
@@ -183,42 +287,75 @@ export type ServiceInputTypes =
| GetNetworkResourcesCommandInput
| GetNetworkRoutesCommandInput
| GetNetworkTelemetryCommandInput
+ | GetResourcePolicyCommandInput
| GetRouteAnalysisCommandInput
+ | GetSiteToSiteVpnAttachmentCommandInput
| GetSitesCommandInput
| GetTransitGatewayConnectPeerAssociationsCommandInput
| GetTransitGatewayRegistrationsCommandInput
+ | GetVpcAttachmentCommandInput
+ | ListAttachmentsCommandInput
+ | ListConnectPeersCommandInput
+ | ListCoreNetworkPolicyVersionsCommandInput
+ | ListCoreNetworksCommandInput
| ListTagsForResourceCommandInput
+ | PutCoreNetworkPolicyCommandInput
+ | PutResourcePolicyCommandInput
| RegisterTransitGatewayCommandInput
+ | RejectAttachmentCommandInput
+ | RestoreCoreNetworkPolicyVersionCommandInput
| StartRouteAnalysisCommandInput
| TagResourceCommandInput
| UntagResourceCommandInput
| UpdateConnectionCommandInput
+ | UpdateCoreNetworkCommandInput
| UpdateDeviceCommandInput
| UpdateGlobalNetworkCommandInput
| UpdateLinkCommandInput
| UpdateNetworkResourceMetadataCommandInput
- | UpdateSiteCommandInput;
+ | UpdateSiteCommandInput
+ | UpdateVpcAttachmentCommandInput;
export type ServiceOutputTypes =
+ | AcceptAttachmentCommandOutput
+ | AssociateConnectPeerCommandOutput
| AssociateCustomerGatewayCommandOutput
| AssociateLinkCommandOutput
| AssociateTransitGatewayConnectPeerCommandOutput
+ | CreateConnectAttachmentCommandOutput
+ | CreateConnectPeerCommandOutput
| CreateConnectionCommandOutput
+ | CreateCoreNetworkCommandOutput
| CreateDeviceCommandOutput
| CreateGlobalNetworkCommandOutput
| CreateLinkCommandOutput
| CreateSiteCommandOutput
+ | CreateSiteToSiteVpnAttachmentCommandOutput
+ | CreateVpcAttachmentCommandOutput
+ | DeleteAttachmentCommandOutput
+ | DeleteConnectPeerCommandOutput
| DeleteConnectionCommandOutput
+ | DeleteCoreNetworkCommandOutput
+ | DeleteCoreNetworkPolicyVersionCommandOutput
| DeleteDeviceCommandOutput
| DeleteGlobalNetworkCommandOutput
| DeleteLinkCommandOutput
+ | DeleteResourcePolicyCommandOutput
| DeleteSiteCommandOutput
| DeregisterTransitGatewayCommandOutput
| DescribeGlobalNetworksCommandOutput
+ | DisassociateConnectPeerCommandOutput
| DisassociateCustomerGatewayCommandOutput
| DisassociateLinkCommandOutput
| DisassociateTransitGatewayConnectPeerCommandOutput
+ | ExecuteCoreNetworkChangeSetCommandOutput
+ | GetConnectAttachmentCommandOutput
+ | GetConnectPeerAssociationsCommandOutput
+ | GetConnectPeerCommandOutput
| GetConnectionsCommandOutput
+ | GetCoreNetworkChangeSetCommandOutput
+ | GetCoreNetworkCommandOutput
+ | GetCoreNetworkPolicyCommandOutput
| GetCustomerGatewayAssociationsCommandOutput
| GetDevicesCommandOutput
| GetLinkAssociationsCommandOutput
@@ -228,21 +365,34 @@ export type ServiceOutputTypes =
| GetNetworkResourcesCommandOutput
| GetNetworkRoutesCommandOutput
| GetNetworkTelemetryCommandOutput
+ | GetResourcePolicyCommandOutput
| GetRouteAnalysisCommandOutput
+ | GetSiteToSiteVpnAttachmentCommandOutput
| GetSitesCommandOutput
| GetTransitGatewayConnectPeerAssociationsCommandOutput
| GetTransitGatewayRegistrationsCommandOutput
+ | GetVpcAttachmentCommandOutput
+ | ListAttachmentsCommandOutput
+ | ListConnectPeersCommandOutput
+ | ListCoreNetworkPolicyVersionsCommandOutput
+ | ListCoreNetworksCommandOutput
| ListTagsForResourceCommandOutput
+ | PutCoreNetworkPolicyCommandOutput
+ | PutResourcePolicyCommandOutput
| RegisterTransitGatewayCommandOutput
+ | RejectAttachmentCommandOutput
+ | RestoreCoreNetworkPolicyVersionCommandOutput
| StartRouteAnalysisCommandOutput
| TagResourceCommandOutput
| UntagResourceCommandOutput
| UpdateConnectionCommandOutput
+ | UpdateCoreNetworkCommandOutput
| UpdateDeviceCommandOutput
| UpdateGlobalNetworkCommandOutput
| UpdateLinkCommandOutput
| UpdateNetworkResourceMetadataCommandOutput
- | UpdateSiteCommandOutput;
+ | UpdateSiteCommandOutput
+ | UpdateVpcAttachmentCommandOutput;
export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
/**
diff --git a/clients/client-networkmanager/src/commands/AcceptAttachmentCommand.ts b/clients/client-networkmanager/src/commands/AcceptAttachmentCommand.ts
new file mode 100644
index 000000000000..17bc66d4259c
--- /dev/null
+++ b/clients/client-networkmanager/src/commands/AcceptAttachmentCommand.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 { AcceptAttachmentRequest, AcceptAttachmentResponse } from "../models/models_0";
+import { NetworkManagerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../NetworkManagerClient";
+import {
+ deserializeAws_restJson1AcceptAttachmentCommand,
+ serializeAws_restJson1AcceptAttachmentCommand,
+} from "../protocols/Aws_restJson1";
+
+export interface AcceptAttachmentCommandInput extends AcceptAttachmentRequest {}
+export interface AcceptAttachmentCommandOutput extends AcceptAttachmentResponse, __MetadataBearer {}
+
+/**
+ *